{"components":{"schemas":{"ADOBoardsConfigAuthConfig":{"description":"AuthConfig holds the credentials used to authenticate with ADO.","properties":{"pat":{"$ref":"#/components/schemas/AuthConfigPAT"}},"type":"object"},"ADOBoardsConfigProjectConfig":{"description":"ProjectConfig specifies a single ADO project and work item associated.","properties":{"child_work_item_type":{"description":"Work item type to create as a child under the parent work item.","type":"string"},"project_guid":{"description":"ADO project GUID. Populated server-side during validation.","readOnly":true,"type":"string"},"project_name":{"description":"Project name in ADO.","type":"string"},"tags":{"description":"The tags to apply to the ADO work item.","items":{"type":"string"},"type":"array"},"work_item_type":{"description":"Work item type to create, e.g., \"Bug\", \"Task\", \"Epic\".","type":"string"}},"required":["project_name","work_item_type"],"type":"object"},"ADOBoardsConfigUserConfig":{"description":"UserConfig holds org URL and auth provided directly by the user.","properties":{"auth":{"$ref":"#/components/schemas/ADOBoardsConfigAuthConfig"},"org_url":{"description":"The URL of the ADO organization (e.g. https://dev.azure.com/myorg).","type":"string"}},"required":["org_url","auth"],"type":"object"},"AIEmbeddingsRequestServiceCreateAIEmbeddingsRequestBody":{"description":"AIEmbeddingsRequest represents an AI embedding request in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIEmbeddingsRequestSpec"},"tenant_meta":{"description":"Embedding requests are measured by tenant.","title":"Embedding requests are measured by tenant.","type":"object"},"uuid":{"description":"The UUID of the embedding request.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AIProviderKeyServiceCreateAIProviderKeyBody":{"description":"AIProviderKey stores a customer-provided (bring-your-own-key) LLM\ncredential and entry point for a specific AI provider. When one is\nconfigured and enabled, the platform routes the tenant's AI requests\nthrough the customer's own provider account instead of Endor-managed\ncredentials.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIProviderKeySpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the AI provider key.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"AIProviderKeyServiceUpdateAIProviderKeyBody":{"description":"Request to update the AI provider key.","properties":{"object":{"description":"The AI provider key to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIProviderKeySpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the AI provider key.","readOnly":true,"type":"string"}},"title":"The AI provider key to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta"],"type":"object"},"AIQueryPackageData":{"properties":{"description":{"type":"string"},"latest_version":{"type":"string"},"name":{"type":"string"},"package_version_uuid":{"type":"string"},"qualified_name":{"type":"string"},"repository":{"type":"string"}},"type":"object"},"AIQueryServiceCreateAIQueryBody":{"description":"Implements queries by interacting with the OpenAI API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIQuerySpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"AIRequestServiceCreateAIRequestBody":{"description":"Implements qi request by interacting with the LLM API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIRequestSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"AIResultAILevel":{"default":"AI_LEVEL_UNSPECIFIED","description":"AI severity level.\n\n - AI_LEVEL_CRITICAL: Critical AI SAST.\n - AI_LEVEL_HIGH: High AI SAST.\n - AI_LEVEL_MEDIUM: Medium AI SAST.\n - AI_LEVEL_LOW: Low AI SAST.","enum":["AI_LEVEL_UNSPECIFIED","AI_LEVEL_CRITICAL","AI_LEVEL_HIGH","AI_LEVEL_MEDIUM","AI_LEVEL_LOW"],"type":"string"},"AIResultSAST":{"properties":{"attack_vector":{"description":"Attack vector breakdown table when no exploit reproduction is emitted (the \"## Attack Vector\" section).","type":"string"},"classification":{"$ref":"#/components/schemas/v1FindingClassification"},"context":{"$ref":"#/components/schemas/v1AISASTContext"},"cwes":{"description":"The CWEs of the vulnerability.","items":{"type":"string"},"type":"array"},"dataflow":{"description":"Deprecated: use call_stack instead.\nOne or more source locations representing the data flow path from a source to a sink.\nThe locations are ordered and include the source, any intermediate nodes, and the sink.\nIf only a single location is provided, it represents the sink location only.","items":{"$ref":"#/components/schemas/v1SourceLocation"},"type":"array"},"exploit_reproduction":{"description":"Step-by-step exploit reproduction for high/critical true positives (the \"## Exploit Reproduction\" section).","type":"string"},"fixed_strikes":{"description":"Strictly consecutive scheduled-refresh FIXED verdicts. Deletion requires\ntwo: the first only stamps this counter and keeps the finding due. Reset\nby any non-FIXED outcome (STILL_PRESENT, UNKNOWN, agent error).","format":"int32","type":"integer"},"language":{"description":"Programming language of the file where this result was found.","type":"string"},"last_scan":{"description":"When the scheduled AI SAST refresh last revalidated this finding. Unset\nfor findings created before refresh tracking; drives refresh staleness.","format":"date-time","type":"string"},"location":{"$ref":"#/components/schemas/v1SourceLocation"},"refresh_attempts":{"description":"Consecutive inconclusive scheduled-refresh attempts (agent error or\nUNKNOWN verdict); at the retry cap the refresh re-baselines last_scan\ninstead of retrying forever. Reset on a definitive verdict.","format":"int32","type":"integer"},"remediation":{"description":"Recommended remediation, including any unified-diff fix (the \"## Remediation Guidance\" section).","type":"string"},"security_controls":{"description":"Security controls assessment table (the \"## Security Controls\" section).","type":"string"},"severity_scoring":{"description":"Severity scoring breakdown (the \"## Severity Scoring\" section).","type":"string"},"summary":{"description":"Short prose summary of the vulnerability (the \"## Summary\" section).","type":"string"},"validation_outcome":{"description":"Validation outcome for unknown findings (the \"## Validation Outcome\" section).","type":"string"},"verification_scorecard":{"description":"Verification scorecard with per-criterion verdicts (the \"## Verification Scorecard\" section).","type":"string"}},"type":"object"},"AISASTScanCacheScanOutcome":{"default":"SCAN_OUTCOME_UNSPECIFIED","description":"ScanOutcome represents the result of scanning a segment or file.\n\n - SCAN_OUTCOME_UNSPECIFIED: No outcome has been set.\n - SCAN_OUTCOME_SUCCESS: Segment was scanned successfully; results (if any) are in LinterResult.\n - SCAN_OUTCOME_SKIPPED: Segment was skipped as not interesting or trivial.\n - SCAN_OUTCOME_FAILED: LLM call or post-processing failed for this segment.\n - SCAN_OUTCOME_OUT_OF_SCOPE: Segment was excluded by include/exclude path rules.\n - SCAN_OUTCOME_IN_PROGRESS: File is currently owned by an active scan attempt.","enum":["SCAN_OUTCOME_UNSPECIFIED","SCAN_OUTCOME_SUCCESS","SCAN_OUTCOME_SKIPPED","SCAN_OUTCOME_FAILED","SCAN_OUTCOME_OUT_OF_SCOPE","SCAN_OUTCOME_IN_PROGRESS"],"type":"string"},"AISASTScanCacheSegmentEntry":{"description":"SegmentEntry is a single segment's scan state within a file-level document.","properties":{"column_from":{"description":"Starting column number (1-indexed). Disambiguates segments in\nminified/bundled code where multiple functions share a line.","format":"int32","type":"integer"},"column_to":{"description":"Ending column number (1-indexed, inclusive).","format":"int32","type":"integer"},"content_hash":{"description":"SHA-256 hex hash of the segment source content. Uses the same hashing\napproach as repoindexer/indexer.go calculateHash.","type":"string"},"fqn":{"description":"Fully qualified name of the function. Empty for file-level segments.","type":"string"},"line_from":{"description":"Starting line number (1-indexed).","format":"int32","type":"integer"},"line_to":{"description":"Ending line number (1-indexed, inclusive).","format":"int32","type":"integer"}},"type":"object"},"AISASTScanCacheServiceCreateAISASTScanCacheBody":{"description":"AISASTScanCache tracks scan outcomes at file-level granularity for AI SAST\nincremental scanning. Each document contains the segments for a single\nfile, enabling efficient bulk reads and writes against MongoDB. When the\noutcome changes (e.g. a previously failed file is retried successfully),\nthe existing cache entry is updated in place.\n\nThis is a cache: LinterResults remain the authoritative finding records.\nIf the cache is lost, the system falls back to a full scan.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISASTScanCacheSpec"},"tenant_meta":{"description":"Scan cache entries are associated with a tenant.","title":"Scan cache entries are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the scan cache entry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AISASTScanCacheServiceUpdateAISASTScanCacheBody":{"description":"Request to update an AI SAST scan cache entry.","properties":{"object":{"description":"The scan cache entry to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISASTScanCacheSpec"},"tenant_meta":{"description":"Scan cache entries are associated with a tenant.","title":"Scan cache entries are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the scan cache entry.","readOnly":true,"type":"string"}},"title":"The scan cache entry to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"AISASTStatusAISASTScanState":{"default":"AISAST_SCAN_STATE_UNSPECIFIED","description":"Tracks the state of the last AI SAST scan pipeline (index + scan).\nWritten before and after each phase so the DB always reflects whether\nthe phase completed, even if the process is killed.","enum":["AISAST_SCAN_STATE_UNSPECIFIED","AISAST_SCAN_STATE_INDEX_STARTED","AISAST_SCAN_STATE_INDEX_SUCCEEDED","AISAST_SCAN_STATE_INDEX_FAILED","AISAST_SCAN_STATE_SCAN_STARTED","AISAST_SCAN_STATE_SCAN_SUCCEEDED","AISAST_SCAN_STATE_SCAN_FAILED"],"type":"string"},"AISastAnalysisParametersAISastAnalysisMode":{"default":"AI_SAST_ANALYSIS_MODE_UNSPECIFIED","description":" - AI_SAST_ANALYSIS_MODE_UNSPECIFIED: Options available for peforming AI triage of Sast Findings.\n - AI_SAST_ANALYSIS_MODE_AGENT_FALLBACK: AI_SAST_ANALYSIS_AGENT_ZEROSHOT_CODE_API = 4; // TODO add when ready.","enum":["AI_SAST_ANALYSIS_MODE_UNSPECIFIED","AI_SAST_ANALYSIS_MODE_AGENT","AI_SAST_ANALYSIS_MODE_AGENT_DEEP","AI_SAST_ANALYSIS_MODE_AGENT_FALLBACK"],"type":"string"},"AISastContextSummaryComponentHashes":{"description":"Per-input SHA-256 fingerprints for attribution, telemetry, and future selective recompute.","properties":{"feedback":{"description":"Feedback fingerprint: rollup over Feedback objects in scope.","type":"string"},"memory":{"description":"Memory-store fingerprint; empty when no memory input exists.","type":"string"},"namespace_context":{"description":"Namespace-scope AISastCustomerContext fingerprint; empty when no namespace context exists.","type":"string"},"project_context":{"description":"Project-scope AISastCustomerContext fingerprint; empty when no project context exists.","type":"string"},"repo_signals":{"description":"Repo-signal fingerprint: rollup over LLM-config files (CLAUDE.md, cursor rules, skills, custom paths).","type":"string"},"tenant_context":{"description":"Tenant-scope AISastCustomerContext fingerprint; empty when no tenant context exists.","type":"string"}},"type":"object"},"AISastContextSummaryPathSpec":{"description":"Directory subtree a PATH-scoped summary covers.","properties":{"directory":{"description":"Repository-relative directory; no leading slash, no \"..\".","type":"string"},"exclude_globs":{"description":"Exclude globs applied after include filtering.","items":{"type":"string"},"type":"array"},"include_globs":{"description":"Include globs evaluated relative to directory; empty means include all.","items":{"type":"string"},"type":"array"}},"required":["directory"],"type":"object"},"AISastContextSummaryProjectSpec":{"description":"Whole-project summary scope.","type":"object"},"AISastContextSummaryServiceCreateAISastContextSummaryBody":{"description":"Project- or path-scoped summary with three sections (project, finding, FP) and an inputs hash.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISastContextSummarySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AISastContextSummaryServiceUpdateAISastContextSummaryBody":{"description":"Update request for an AI SAST context summary.","properties":{"object":{"description":"The context summary to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISastContextSummarySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"title":"The context summary to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"AISastCustomerContextServiceCreateAISastCustomerContextBody":{"description":"Customer-provided context scoped to projects using policy-style selectors.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagates system-level context settings to child namespaces when enabled.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AISastCustomerContextSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AISastCustomerContextServiceUpdateAISastCustomerContextBody":{"description":"Update request for an AI SAST customer context.","properties":{"object":{"description":"The customer context to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagates system-level context settings to child namespaces when enabled.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AISastCustomerContextSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"title":"The customer context to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"APIKeyServiceCreateAPIKeyBody":{"description":"Manages the system API keys.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the API key can be used for the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1APIKeySpec"},"tenant_meta":{"description":"APIKeys are namespaced objects.","title":"APIKeys are namespaced objects.","type":"object"},"uuid":{"description":"The UUID of an API key resource.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AdoBoardsWorkItemTypesResultProjectWorkItemTypes":{"description":"ProjectWorkItemTypes groups the work item types available for one project.","properties":{"project_name":{"description":"The project these work item types belong to.","type":"string"},"work_item_types":{"description":"The work item types available for the project.","items":{"$ref":"#/components/schemas/AdoBoardsWorkItemTypesResultWorkItemType"},"type":"array"}},"type":"object"},"AdoBoardsWorkItemTypesResultWorkItemType":{"description":"WorkItemType is a selectable ADO Boards work item type.","properties":{"name":{"description":"The display name (e.g. Bug, User Story).","type":"string"},"reference_name":{"description":"The reference name (e.g. Microsoft.VSTS.WorkItemTypes.Bug).","type":"string"}},"type":"object"},"AffectedSource":{"default":"SOURCE_UNSPECIFIED","enum":["SOURCE_UNSPECIFIED","SOURCE_OSV","SOURCE_ENDOR","SOURCE_OVAL"],"type":"string"},"AgentAuditLogServiceCreateAgentAuditLogBody":{"description":"AgentAuditLog records a single agent-originated call into the Endor backend,\ncaptured at the gRPC edge for internal security-forensics and agentic-usage\nanalytics. The trail is append-only, so a row is written once and never\nupdated. Singular scalars are wrapper types so a consumer can tell an\nunrecorded field from a recorded zero value, a distinction that matters for\nforensic queries on the trust signals.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentAuditLogSpec"},"tenant_meta":{"description":"Namespace this record is stored and served under. Always a namespace that\nexists: the namespace the call targeted when authorization allowed it,\notherwise the namespace the caller's token is scoped to.","title":"Namespace this record is stored and served under. Always a namespace that\nexists: the namespace the call targeted when authorization allowed it,\notherwise the namespace the caller's token is scoped to.","type":"object"},"uuid":{"description":"The UUID of the agent audit log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AgentConfigServiceCreateAgentConfigBody":{"description":"Represents the information captured from an AgentConfig of endorctl.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentConfigSpec"},"tenant_meta":{"description":"AgentConfigs are associated with a tenant or are global.","title":"AgentConfigs are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentConfig.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentConfigServiceUpdateAgentConfigBody":{"description":"Request to update an AgentConfig.","properties":{"object":{"description":"Represents the information captured from an AgentConfig of endorctl.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentConfigSpec"},"tenant_meta":{"description":"AgentConfigs are associated with a tenant or are global.","title":"AgentConfigs are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentConfig.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgentDirectoryEntryServiceCreateAgentDirectoryEntryBody":{"description":"AgentDirectoryEntry is one org-directory record synced from the Anthropic\nCompliance API for a tenant. Keyed by corporate email (meta.name = email),\nwhich is the join key the client resolves against (the directory exposes no\nstable Claude-account UUID). Written only by the server-side directory sync\n(the compliancedirsyncer housekeeping job); read by the client at session\nstart to resolve its own identity.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentDirectoryEntrySpec"},"tenant_meta":{"description":"AgentDirectoryEntries are associated with a tenant.","title":"AgentDirectoryEntries are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an AgentDirectoryEntry.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentDirectoryEntryServiceUpdateAgentDirectoryEntryBody":{"description":"Request to update an AgentDirectoryEntry.","properties":{"object":{"description":"AgentDirectoryEntry is one org-directory record synced from the Anthropic\nCompliance API for a tenant. Keyed by corporate email (meta.name = email),\nwhich is the join key the client resolves against (the directory exposes no\nstable Claude-account UUID). Written only by the server-side directory sync\n(the compliancedirsyncer housekeeping job); read by the client at session\nstart to resolve its own identity.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentDirectoryEntrySpec"},"tenant_meta":{"description":"AgentDirectoryEntries are associated with a tenant.","title":"AgentDirectoryEntries are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an AgentDirectoryEntry.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgentHookActionMatchType":{"default":"MATCH_TYPE_UNSPECIFIED","description":"We may want to trigger when the activity matches the patterns in the policy (blocklist)\nor alternatively when the activity does not match the patterns in the policy (allowlist).","enum":["MATCH_TYPE_UNSPECIFIED","MATCH_TYPE_BLOCKLIST","MATCH_TYPE_ALLOWLIST"],"type":"string"},"AgentHookEventServiceCreateAgentHookEventBody":{"description":"AgentHookEvent represents a single event emitted by the agent runtime.\nEach event has a type, context, and optional type-specific payload.","properties":{"consumers_failed":{"description":"Consumer keys that failed to process this event. Used for retry.","items":{"type":"string"},"readOnly":true,"type":"array"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_result":{"$ref":"#/components/schemas/v1ProcessingResult"},"spec":{"$ref":"#/components/schemas/v1AgentHookEventSpec"},"tenant_meta":{"description":"AgentHookEvent are associated with a tenant or are global.","title":"AgentHookEvent are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentHookEvent.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentHookEventServiceUpdateAgentHookEventBody":{"description":"Request to update an agent hook event.","properties":{"object":{"description":"AgentHookEvent represents a single event emitted by the agent runtime.\nEach event has a type, context, and optional type-specific payload.","properties":{"consumers_failed":{"description":"Consumer keys that failed to process this event. Used for retry.","items":{"type":"string"},"readOnly":true,"type":"array"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_result":{"$ref":"#/components/schemas/v1ProcessingResult"},"spec":{"$ref":"#/components/schemas/v1AgentHookEventSpec"},"tenant_meta":{"description":"AgentHookEvent are associated with a tenant or are global.","title":"AgentHookEvent are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentHookEvent.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgentHookEventSpecFileOperation":{"default":"FILE_OPERATION_UNSPECIFIED","description":"FileOperation identifies the type of file access.","enum":["FILE_OPERATION_UNSPECIFIED","FILE_OPERATION_READ","FILE_OPERATION_WRITE","FILE_OPERATION_DELETE","FILE_OPERATION_EDIT"],"type":"string"},"AgentHookPolicyDefinitionServiceCreateAgentHookPolicyDefinitionBody":{"description":"AgentHookPolicyDefinition is a top-level CRUD object that stores a single\nAgentHookPolicy alongside standard metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinitionSpec"},"tenant_meta":{"description":"AgentHookPolicyDefinitions are associated with a tenant or are global.","title":"AgentHookPolicyDefinitions are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentHookPolicyDefinition.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentHookPolicyDefinitionServiceUpdateAgentHookPolicyDefinitionBody":{"description":"Request to update an AgentHookPolicyDefinition.","properties":{"object":{"description":"AgentHookPolicyDefinition is a top-level CRUD object that stores a single\nAgentHookPolicy alongside standard metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinitionSpec"},"tenant_meta":{"description":"AgentHookPolicyDefinitions are associated with a tenant or are global.","title":"AgentHookPolicyDefinitions are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentHookPolicyDefinition.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgentHookPolicyMatchAgentHookPolicyMatchType":{"default":"AGENT_HOOK_POLICY_MATCH_TYPE_UNSPECIFIED","description":"The type of policy match.\n\n - AGENT_HOOK_POLICY_MATCH_TYPE_MALWARE: A package flagged as malware by the malware check.\n - AGENT_HOOK_POLICY_MATCH_TYPE_SECRETS: A secret detected in file content by the secrets check.","enum":["AGENT_HOOK_POLICY_MATCH_TYPE_UNSPECIFIED","AGENT_HOOK_POLICY_MATCH_TYPE_MCP_TOOL_CALL","AGENT_HOOK_POLICY_MATCH_TYPE_CMD_LINE","AGENT_HOOK_POLICY_MATCH_TYPE_FILE_ACCESS","AGENT_HOOK_POLICY_MATCH_TYPE_SKILL","AGENT_HOOK_POLICY_MATCH_TYPE_MCP_SERVER","AGENT_HOOK_POLICY_MATCH_TYPE_SESSION","AGENT_HOOK_POLICY_MATCH_TYPE_MALWARE","AGENT_HOOK_POLICY_MATCH_TYPE_SECRETS"],"type":"string"},"AgentSessionCountQueryServiceCreateAgentSessionCountQueryBody":{"description":"AgentSessionCountQuery is an internal API returning the total number of\nagent sessions in a namespace. Unlike ListAgentSessions, results are not\nrestricted to sessions owned by or shared with the caller: the response\ncarries only a count, so no session content can be exposed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentSessionCountQuerySpec"},"tenant_meta":{"description":"Agent session count queries are associated with a tenant.","title":"Agent session count queries are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentSessionServiceCreateAgentSessionBody":{"description":"Implements an agent session by interacting with the implemented agents.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentSessionSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource. This is also the session ID for a user\nthat wants to continue a conversation with the agent.\nIt will accumulate messages over the conversation.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"AgentSessionServiceUpdateAgentSessionBody":{"description":"Request to update an AgentSession.","properties":{"object":{"description":"Implements an agent session by interacting with the implemented agents.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentSessionSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource. This is also the session ID for a user\nthat wants to continue a conversation with the agent.\nIt will accumulate messages over the conversation.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta"],"type":"object"},"AgentToolServiceCreateAgentToolBody":{"description":"Lists the available Agent Tools that can be attached to agents.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentToolSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"AgentWorkflowChainStep":{"description":"ChainStep represents a single step in a chain workflow.","properties":{"agent_config":{"$ref":"#/components/schemas/v1AgentConfig"},"agent_config_uuid":{"description":"Reference to an existing AgentConfig by UUID.\nThis allows reusing AgentConfigs across multiple workflows.","type":"string"}},"type":"object"},"AgentWorkflowChainWorkflow":{"description":"ChainWorkflow defines a sequential execution of agents where each agent's\noutput becomes the input for the next agent.\n\nNote: There is a limitation on the number of results an agent can produce\nreliably. If an agent's output array contains too many elements (for example,\nmore than 10), the next agent in the workflow may not process all results.\nThis should be taken into account when designing workflows and configuring agents.","properties":{"steps":{"description":"The steps to execute in sequence.","items":{"$ref":"#/components/schemas/AgentWorkflowChainStep"},"type":"array"}},"type":"object"},"AgentWorkflowServiceCreateAgentWorkflowBody":{"description":"Represents an agent workflow that orchestrates multiple agents.\nWorkflows can be of different types, such as chain, planner, or swarm.\nThe initial implementation supports chain workflows where agents execute\nsequentially, passing outputs to the next agent in the chain.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentWorkflowSpec"},"tenant_meta":{"description":"AgentWorkflows are associated with a tenant or are global.","title":"AgentWorkflows are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentWorkflow.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"AgentWorkflowServiceUpdateAgentWorkflowBody":{"description":"Request to update an AgentWorkflow.","properties":{"object":{"description":"Represents an agent workflow that orchestrates multiple agents.\nWorkflows can be of different types, such as chain, planner, or swarm.\nThe initial implementation supports chain workflows where agents execute\nsequentially, passing outputs to the next agent in the chain.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentWorkflowSpec"},"tenant_meta":{"description":"AgentWorkflows are associated with a tenant or are global.","title":"AgentWorkflows are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an AgentWorkflow.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgenticInventoryAgentMeta":{"description":"AgentMeta holds agent-specific inventory fields.","properties":{"agent_version":{"description":"Agent version if available.","type":"string"},"mcp_servers_used":{"description":"MCP servers used by this agent.","items":{"type":"string"},"type":"array"},"models_used":{"description":"Models that have been used with this agent.","items":{"type":"string"},"type":"array"}},"type":"object"},"AgenticInventoryAiToolMeta":{"description":"AiToolMeta holds AI tool-specific inventory fields.","properties":{"category":{"$ref":"#/components/schemas/v1AiToolCategory"},"evidence":{"description":"Evidence supporting the detection.","items":{"$ref":"#/components/schemas/v1AiToolEvidence"},"type":"array"},"vendor":{"description":"Vendor of the tool (e.g. \"Anthropic\", \"OpenSource\", \"Google\").","type":"string"}},"type":"object"},"AgenticInventoryMcpMeta":{"description":"McpMeta holds MCP server-specific inventory fields.","properties":{"admin_classification":{"$ref":"#/components/schemas/v1InventoryAdminClassification"},"agents_used":{"description":"Agents that have used this MCP server.","items":{"type":"string"},"type":"array"},"command":{"description":"Command + args for stdio transport (e.g. [\"npx\",\"-y\",\"@some/mcp\"]).","items":{"type":"string"},"type":"array"},"endpoint":{"description":"Endpoint URL for http/sse transport.","type":"string"},"env_keys":{"description":"Names of env vars passed to the server. Values are NEVER persisted.","items":{"type":"string"},"type":"array"},"models_used":{"description":"Models that have been used with this MCP server.","items":{"type":"string"},"type":"array"},"score_meta":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreMeta"},"server_host":{"description":"Host or URL of the server (e.g. \"localhost\", \"https://api.example.com\").","type":"string"},"server_type":{"$ref":"#/components/schemas/v1ServerType"},"source":{"$ref":"#/components/schemas/v1McpServerSource"},"threat_classification":{"$ref":"#/components/schemas/v1InventoryThreatClassification"},"tools":{"description":"List of tool names available/used from this server.","items":{"type":"string"},"type":"array"},"transport":{"description":"Transport: \"stdio\", \"http\", \"sse\" (from AgentMCPServer.transport).","type":"string"}},"type":"object"},"AgenticInventoryMcpRiskLevel":{"default":"MCP_RISK_LEVEL_UNSPECIFIED","description":"McpRiskLevel is the categorical risk level produced by the aggregator.","enum":["MCP_RISK_LEVEL_UNSPECIFIED","MCP_RISK_LEVEL_LOW","MCP_RISK_LEVEL_MEDIUM","MCP_RISK_LEVEL_HIGH","MCP_RISK_LEVEL_CRITICAL"],"type":"string"},"AgenticInventoryMcpScoreDimension":{"description":"McpScoreDimension is a single category's score block.","properties":{"evidence":{"description":"Human-readable evidence of what brought the score down. One line per\ntriggered check, formatted as \"[SEVERITY] CheckName: Detail\". Unset when\nno findings fired in this category.","type":"string"},"score":{"description":"Score 1-10 (higher = safer); unset if no checks ran for this category.","format":"float","type":"number"}},"type":"object"},"AgenticInventoryMcpScoreDimensions":{"description":"McpScoreDimensions holds per-category 1-10 scores from the evaluator.","properties":{"auth":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"input_validation":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"llm_interaction":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"operational":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"resource_access":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"supply_chain":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"},"transport":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimension"}},"type":"object"},"AgenticInventoryMcpScoreMeta":{"description":"McpScoreMeta groups the riskevaluator outputs written by the jobctl\nmcpscoring handler.","properties":{"risk_level":{"$ref":"#/components/schemas/AgenticInventoryMcpRiskLevel"},"score":{"description":"Headline score 1-10 (higher = safer). Min across category scores\nwith at least one executable check.","format":"float","type":"number"},"score_dimensions":{"$ref":"#/components/schemas/AgenticInventoryMcpScoreDimensions"},"scored_config_hash":{"description":"SHA-256 of the scored ServerConfig (transport+command+endpoint+env_keys).","type":"string"}},"type":"object"},"AgenticInventoryModelMeta":{"description":"ModelMeta holds model-specific inventory fields.","properties":{"agents_used":{"description":"Agents that have used this model.","items":{"type":"string"},"type":"array"},"mcp_servers_used":{"description":"MCP servers used with this model.","items":{"type":"string"},"type":"array"}},"type":"object"},"AgenticInventoryServiceUpdateAgenticInventoryBody":{"description":"UpdateAgenticInventoryRequest is the request message for updating an agentic inventory record.","properties":{"object":{"description":"AgenticInventory represents aggregated metrics for agents, models, MCP servers, skills, and AI tools.\nOne collection with type discriminator. Upserted on agent hook events.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgenticInventorySpec"},"tenant_meta":{"description":"Inventory is associated with a tenant.","title":"Inventory is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the inventory record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"AgenticInventorySkillMeta":{"description":"SkillMeta holds skill-specific inventory fields.","properties":{"admin_classification":{"$ref":"#/components/schemas/v1InventoryAdminClassification"},"agents_used":{"description":"Agents that have used this skill.","items":{"type":"string"},"type":"array"},"allowed_tools":{"description":"Tools declared in SKILL.md frontmatter (allowed-tools).","items":{"type":"string"},"type":"array"},"compatibility":{"description":"Environment requirements from SKILL.md frontmatter (agentskills.io standard field).","type":"string"},"content":{"description":"Base64-encoded SKILL.md content for backend scoring. Capped at 128 KB.","type":"string"},"content_hash":{"description":"SHA-256 hash of the SKILL.md content.","type":"string"},"description":{"description":"Human-readable description from SKILL.md frontmatter.","type":"string"},"file_count":{"description":"Number of files in the skill directory (including SKILL.md).","format":"int32","type":"integer"},"license":{"description":"License from SKILL.md frontmatter (agentskills.io standard field).","type":"string"},"path":{"description":"Path to the SKILL.md file within the workspace or user home directory.","type":"string"},"risk_dimensions":{"$ref":"#/components/schemas/AgenticInventorySkillRiskDimensions"},"risk_score":{"description":"Deprecated: use score (field 14) instead. Was risk-oriented (higher = riskier).","format":"float","type":"number"},"score":{"description":"Overall score (1-10, higher = safer). Computed by backend LLM analysis.","format":"float","type":"number"},"score_dimensions":{"$ref":"#/components/schemas/AgenticInventorySkillScoreDimensions"},"scored_content_hash":{"description":"SHA-256 hash of the content that was last scored. Used to detect drift\nand decide whether re-scoring is needed.","type":"string"},"threat_classification":{"$ref":"#/components/schemas/v1InventoryThreatClassification"}},"type":"object"},"AgenticInventorySkillRiskDimension":{"description":"Deprecated: use SkillScoreDimension instead.","properties":{"evidence":{"type":"string"},"score":{"format":"float","type":"number"}},"type":"object"},"AgenticInventorySkillRiskDimensions":{"description":"Deprecated: use SkillScoreDimensions instead.","properties":{"data_protection":{"$ref":"#/components/schemas/AgenticInventorySkillRiskDimension"},"external_dependencies":{"$ref":"#/components/schemas/AgenticInventorySkillRiskDimension"},"instruction_integrity":{"$ref":"#/components/schemas/AgenticInventorySkillRiskDimension"},"permission_boundaries":{"$ref":"#/components/schemas/AgenticInventorySkillRiskDimension"}},"type":"object"},"AgenticInventorySkillScoreDimension":{"description":"SkillScoreDimension holds the score and evidence for a single dimension.","properties":{"evidence":{"description":"Brief evidence or explanation from the LLM justifying the score.","type":"string"},"score":{"description":"Score for this dimension (1-10, higher = safer).","format":"float","type":"number"}},"type":"object"},"AgenticInventorySkillScoreDimensions":{"description":"SkillScoreDimensions holds per-dimension scores from LLM security analysis.\nEach dimension is scored 1-10 (higher = safer) with evidence.","properties":{"data_protection":{"$ref":"#/components/schemas/AgenticInventorySkillScoreDimension"},"external_dependencies":{"$ref":"#/components/schemas/AgenticInventorySkillScoreDimension"},"instruction_integrity":{"$ref":"#/components/schemas/AgenticInventorySkillScoreDimension"},"permission_boundaries":{"$ref":"#/components/schemas/AgenticInventorySkillScoreDimension"}},"type":"object"},"AnalyticsExecutionRecordAnalysisState":{"default":"ANALYSIS_STATE_UNSPECIFIED","description":"Specifies the status of an analytics run.\n\n - ANALYSIS_STATE_SUCCESS: Analysis is successful.\n - ANALYSIS_STATE_FAILED: Analysis has failed.","enum":["ANALYSIS_STATE_UNSPECIFIED","ANALYSIS_STATE_SUCCESS","ANALYSIS_STATE_FAILED"],"type":"string"},"AnalyticsExecutionRecordServiceCreateAnalyticsExecutionRecordBody":{"description":"Captures the status, time and stats of an execution of the analytics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecordSpec"},"tenant_meta":{"description":"Analytic records are associated with a tenant.","title":"Analytic records are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a AnalyticsExecutionRecord resource.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"AnalyticsExecutionRecordServiceUpdateAnalyticsExecutionRecordBody":{"description":"Request to update the analytics execution record.\nThis request is used only by the nigration service.","properties":{"object":{"description":"Captures the status, time and stats of an execution of the analytics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecordSpec"},"tenant_meta":{"description":"Analytic records are associated with a tenant.","title":"Analytic records are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a AnalyticsExecutionRecord resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"ApproveServiceRequestServiceCreateApproveServiceRequestBody":{"description":"ApproveServiceRequest defines a message for approving or denying service requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ApproveServiceRequestSpec"},"tenant_meta":{"description":"ApproveServiceRequest are raised on a specific internal tenant.","title":"ApproveServiceRequest are raised on a specific internal tenant.","type":"object"},"uuid":{"description":"The UUID of an approve service request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ArtifactLogServiceCreateArtifactLogBody":{"description":"An artifact log contains details of the access of artifacts through https://factory.endorlabs.com.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ArtifactLogSpec"},"tenant_meta":{"description":"Namespace of the artifact log.","title":"Namespace of the artifact log.","type":"object"},"uuid":{"description":"The UUID of the artifact log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ArtifactOperationServiceCreateArtifactOperationBody":{"description":"ArtifactOperation implements the artifacts operations on the server side.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ArtifactOperationResponse"},"spec":{"$ref":"#/components/schemas/v1ArtifactOperationSpec"},"tenant_meta":{"description":"The tenant metadata restrict access to a specific tenant.","title":"The tenant metadata restrict access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the artifact operation.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"ArtifactSignatureServiceCreateArtifactSignatureBody":{"description":"Represents an artifact signature object.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ArtifactSignatureSpec"},"tenant_meta":{"description":"Tenant metadata required for artifact signature requests.","title":"Tenant metadata required for artifact signature requests.","type":"object"},"uuid":{"description":"The UUID of an artifact signature object.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"ArtifactSignatureServiceUpdateArtifactSignatureBody":{"description":"Request to update an artifact signature.","properties":{"object":{"description":"Represents an artifact signature object.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ArtifactSignatureSpec"},"tenant_meta":{"description":"Tenant metadata required for artifact signature requests.","title":"Tenant metadata required for artifact signature requests.","type":"object"},"uuid":{"description":"The UUID of an artifact signature object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta","spec"],"type":"object"},"AssuredPackageVersionServiceCreateAssuredPackageVersionBody":{"description":"AssuredPackageVersion is a  package version that have been built, tested, and patched by Endor Labs.\nIt includes details on how the version was built, tested, and patched, as well as information on the vulnerabilities that have been addressed through the patches.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1AssuredPackageVersionSpec"},"tenant_meta":{"description":"Git repositories are associated with a tenant.","title":"Git repositories are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the assured package version.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"AssuredPackageVersionServiceUpdateAssuredPackageVersionBody":{"description":"Request to update the assured package version.","properties":{"object":{"description":"AssuredPackageVersion is a  package version that have been built, tested, and patched by Endor Labs.\nIt includes details on how the version was built, tested, and patched, as well as information on the vulnerabilities that have been addressed through the patches.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1AssuredPackageVersionSpec"},"tenant_meta":{"description":"Git repositories are associated with a tenant.","title":"Git repositories are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the assured package version.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"AsyncJobServiceCreateAsyncJobBody":{"description":"AsyncJob is an asynchronous job — SBOM export or VEX export\ntypes today, with more types added as they ship.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AsyncJobSpec"},"tenant_meta":{"description":"Tenant the async job belongs to.","title":"Tenant the async job belongs to.","type":"object"},"uuid":{"description":"UUID of the AsyncJob. Assigned by the server on Create; use it to\nfetch the job via GetAsyncJob.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AuditLogServiceCreateAuditLogBody":{"description":"AuditLog represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AuditLogSpec"},"tenant_meta":{"description":"Namespace of the message that is accessed.","title":"Namespace of the message that is accessed.","type":"object"},"uuid":{"description":"The UUID of the audit log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AuthConfigPAT":{"description":"PAT authenticates with ADO using a Personal Access Token.","properties":{"token":{"description":"The Personal Access Token required.","type":"string"}},"required":["token"],"type":"object"},"AuthenticationLogServiceCreateAuthenticationLogBody":{"description":"Represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AuthenticationLogSpec"},"tenant_meta":{"description":"Namespace of the message that is accessed.","title":"Namespace of the message that is accessed.","type":"object"},"uuid":{"description":"The UUID of the authentication log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"AuthorizationPolicyServiceCreateAuthorizationPolicyBody":{"description":"Represents an authorization policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AuthorizationPolicySpec"},"tenant_meta":{"description":"Authorization policies are associated with a tenant.","title":"Authorization policies are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the AuthorizationPolicy resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"AuthorizationPolicyServiceUpdateAuthorizationPolicyBody":{"description":"Request to update an authorization policy.","properties":{"object":{"description":"Represents an authorization policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AuthorizationPolicySpec"},"tenant_meta":{"description":"Authorization policies are associated with a tenant.","title":"Authorization policies are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the AuthorizationPolicy resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"AutoDetectResultDetectedToolChainVersion":{"description":"Message for a detected toolchain version.","properties":{"file":{"description":"File where the version was detected.","type":"string"},"version":{"description":"Version number found in the file.","type":"string"}},"type":"object"},"AutoDetectResultDetectedToolChainVersionList":{"description":"Message for detected toolchain versions.","properties":{"values":{"description":"Toolchain file versions.","items":{"$ref":"#/components/schemas/AutoDetectResultDetectedToolChainVersion"},"type":"array"}},"type":"object"},"AutomatedPRParametersLanguageParameters":{"properties":{"assignees":{"description":"List of assignees for the pull request.","items":{"type":"string"},"type":"array"},"labels":{"description":"List of labels for the pull request.","items":{"type":"string"},"type":"array"},"reviewers":{"description":"List of reviewers for the pull request.","items":{"type":"string"},"type":"array"}},"type":"object"},"AutomatedScanParametersBazelConfiguration":{"properties":{"bazel_exclude_targets":{"description":"targets that should be excluded.","items":{"type":"string"},"type":"array"},"bazel_include_targets":{"description":"targets that should be included.","items":{"type":"string"},"type":"array"},"bazel_show_internal_targets":{"description":"show internal targets as dependencies.","type":"boolean"},"bazel_targets_query":{"description":"query that should be used for bazel scans.","type":"string"},"bazel_workspace_path":{"description":"bazel workspace path.","type":"string"}},"type":"object"},"BatchDependencyMetadataServiceCreateBatchDependencyMetadataBody":{"description":"Request to create multiple DependencyMetadata objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchDependencyMetadataSpec"},"tenant_meta":{"description":"Information about the tenant to which the root package (importer)\nbelongs.","title":"Information about the tenant to which the root package (importer)\nbelongs.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"BatchFileSegmentsServiceCreateBatchFileSegmentsBody":{"description":"Request used to create or delete multiple file segment objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchFileSegmentsSpec"},"tenant_meta":{"description":"Namespace of the file segments.","title":"Namespace of the file segments.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"BatchNotificationServiceCreateBatchNotificationBody":{"description":"Request to create multiple Notification objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchNotificationSpec"},"tenant_meta":{"description":"Information about the tenant.","title":"Information about the tenant.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"BatchPackageLicenseQueryServiceCreateBatchPackageLicenseQueryBody":{"description":"BatchPackageLicenseQuery groups multiple PackageLicenseQuery requests into a single call.\nThe server evaluates each item and populates its output fields (licenses, copyrights,\nnotices, applied_overrides) before returning the object.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchPackageLicenseQuerySpec"},"tenant_meta":{"description":"Namespace all queries in the batch belong to.","title":"Namespace all queries in the batch belong to.","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"type":"object"},"BomDependency":{"properties":{"abstract":{"description":"Whether this is an abstract dependency, such as a secondary BOM file.","type":"boolean"},"cocoapod_dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"composition_metadata":{"$ref":"#/components/schemas/v1ContainerCompositionMetadata"},"conan_dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"container_layers":{"description":"A list of layers where a dependency is introduced in final the container\nimage. It is an optional field. Each entry contains the layer ID (the\nSHA256 digest of the layer) and the file locations within the layer that\nindicate the presence of the dependency in the container.","items":{"$ref":"#/components/schemas/v1ContainerDependencyLayer"},"type":"array"},"dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"eol_timestamp":{"description":"End of life timestamp of the dependency if known.","format":"date-time","type":"string"},"file_location_remote_paths":{"additionalProperties":{"type":"string"},"description":"Maps each entry in file_locations (the local, scanned-workspace path)\nto the matched path in the dependency's own upstream source, when\nknown. Only populated for IMPORTED_TYPE_SEGMENT_MATCH dependencies.","type":"object"},"file_locations":{"description":"An optional field for BOM dependencies that are either\nvendored or discovered in containers and identify the list of file\nlocations that this dependency is seen at.","items":{"type":"string"},"type":"array"},"gem_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyGemDependencySpecScope"},"github_action_kind":{"$ref":"#/components/schemas/PackageVersionDependencyGitHubActionDependencySpecScope"},"golang_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyGoDependencySpecScope"},"hugging_face_dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"import_path":{"description":"The path the source imports this dependency by, set only when it differs\nfrom the path inside name. Empty whenever the two agree, which is every\nordinary dependency.\n\nA Golang \"replace\" that redirects one module path to another leaves the\nsource importing the original path, so name carries the module that\nsupplied the code and this carries the path the compiler sees.","type":"string"},"imported_type":{"$ref":"#/components/schemas/DependencyImportedType"},"js_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyNpmDependencySpecScope"},"locked":{"description":"Set to true if the dependency is fixed to a specific version by a\nlock file at install time (outcome).\n\nIf a dependency is locked, but not pinned, it could drift if the\nlock file is regenerated (for example, by 'npm update').","type":"boolean"},"maven_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyMavenDependencySpecScope"},"name":{"type":"string"},"nuget_dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"packagist_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyPackagistDependencySpecScope"},"patched":{"description":"patched indicates whether the dependency version was patched or not.","type":"boolean"},"pinned":{"description":"Set to true of the dependency is fixed to a specific version by a\nmanifest file (intent).\n\nFor example, in package.json, \"lodash\": \"4.17.21\" is pinned while\n\"lodash\": \"^4.0.0\" is not (it's a range, \"any 4.x\").","type":"boolean"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"public":{"description":"A boolean to know if the dependency is public or not.\nThis field might not be set.","type":"boolean"},"purl":{"description":"purl is the package URL notation of the dependency. Populated only for\ncontainers and OS packages.","type":"string"},"pypi_dependency_scope":{"$ref":"#/components/schemas/PackageVersionDependencyPypiDependencySpecScope"},"release_date":{"description":"The date that the dependency was released, if known.","format":"date-time","type":"string"},"runtime_files":{"description":"A list of files accessed when a dependency is called at runtime in the container image.\nThis is an optional field. It is only set when a\ndependency is found to be used at runtime in the container image.","items":{"$ref":"#/components/schemas/v1ContainerRuntimeDependencyFile"},"type":"array"},"rust_dependency_kind":{"$ref":"#/components/schemas/CargoDependencySpecDependencyKind"},"source_repository_http_clone_url":{"description":"The HTTP clone URL of the dependency if found. This field might not be\nset.","type":"string"},"source_repository_ref":{"description":"The ref of the source repsotiory. This can be a tag or a commit SHA.\nThis field might not be set.","type":"string"},"swift_dependency_scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"user_app_dep":{"description":"For container BOMs, set to true if this is a user application (i.e. the user associated it with an SCA scan).","type":"boolean"},"vendored":{"description":"Whether this is dependency comes from vendored code or not.","type":"boolean"}},"required":["name"],"type":"object"},"BomDependencyFile":{"properties":{"path":{"description":"Relative path of the dependency file used to compute the BOM.","type":"string"}},"type":"object"},"CIRunServiceCreateCIRunBody":{"description":"Represents the information captured from a CI run of endorctl.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CIRunSpec"},"tenant_meta":{"description":"CI runs are associated with a tenant.","title":"CI runs are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a CI run.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"CIRunServiceUpdateCIRunBody":{"description":"Request to update a CI run.","properties":{"object":{"description":"Represents the information captured from a CI run of endorctl.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CIRunSpec"},"tenant_meta":{"description":"CI runs are associated with a tenant.","title":"CI runs are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a CI run.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"CVSSNodeCpeMatch":{"properties":{"criteria":{"type":"string"},"match_criteria_id":{"type":"string"},"version_end_excluding":{"type":"string"},"version_end_including":{"type":"string"},"version_start_excluding":{"type":"string"},"version_start_including":{"type":"string"},"vulnerable":{"type":"boolean"}},"required":["vulnerable","criteria","match_criteria_id"],"type":"object"},"CVSSV3SeverityLevel":{"default":"LEVEL_UNSPECIFIED","enum":["LEVEL_UNSPECIFIED","LEVEL_NONE","LEVEL_LOW","LEVEL_MEDIUM","LEVEL_HIGH","LEVEL_CRITICAL"],"type":"string"},"CVSSV4SeverityV4Level":{"default":"V4_LEVEL_UNSPECIFIED","enum":["V4_LEVEL_UNSPECIFIED","V4_LEVEL_NONE","V4_LEVEL_LOW","V4_LEVEL_MEDIUM","V4_LEVEL_HIGH","V4_LEVEL_CRITICAL"],"type":"string"},"CallGraphDataServiceCreateCallGraphDataBody":{"description":"CallGraphData represents a call graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"An internal value that identifies the callgraph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL of the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID for a call graph resource.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Callgraph proto bytes are encoded in zstd bytes.\nThe caller is responsible to compress/uncompress the bytes.","format":"byte","type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"CallGraphDataServiceUpdateCallGraphDataBody":{"description":"Request to update call graph data.","properties":{"object":{"description":"CallGraphData represents a call graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"An internal value that identifies the callgraph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL of the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID for a call graph resource.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Callgraph proto bytes are encoded in zstd bytes.\nThe caller is responsible to compress/uncompress the bytes.","format":"byte","type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta"],"type":"object"},"CargoDependencySpecCargoVersionReq":{"description":"A crate with a matching name and repository can't be bound to a\ndependency if its version does not match this requirement.","properties":{"major":{"format":"uint64","type":"string"},"minor":{"format":"uint64","type":"string"},"op":{"$ref":"#/components/schemas/CargoVersionReqOp"},"patch":{"description":"/ Patch is only allowed if minor is present.","format":"uint64","type":"string"},"pre":{"type":"string"}},"required":["op","major"],"type":"object"},"CargoDependencySpecCfg":{"description":"A cfg expression, like cfg(windows).","properties":{"expr":{"$ref":"#/components/schemas/CfgCfgExpr"}},"required":["expr"],"type":"object"},"CargoDependencySpecCfgAny":{"properties":{"expr":{"items":{"$ref":"#/components/schemas/CfgCfgExpr"},"type":"array"}},"type":"object"},"CargoDependencySpecCfgValue":{"properties":{"name":{"description":"A named cfg value, like unix.","type":"string"},"pair":{"$ref":"#/components/schemas/CfgKeyPair"}},"type":"object"},"CargoDependencySpecDependencyKind":{"default":"DEPENDENCY_KIND_UNSPECIFIED","description":" - DEPENDENCY_KIND_UNSPECIFIED: Unspecified kind indicates that we are unsure about the type of\ndependency.\n - DEPENDENCY_KIND_NORMAL: Normal kind is the default type of dependency.\n - DEPENDENCY_KIND_DEVELOPMENT: Development kind indicates that the dependency is used for testing\npurposes.\n - DEPENDENCY_KIND_BUILD: Build kind indicates that the dependency is solely used for buildingthe\npackage.","enum":["DEPENDENCY_KIND_UNSPECIFIED","DEPENDENCY_KIND_NORMAL","DEPENDENCY_KIND_DEVELOPMENT","DEPENDENCY_KIND_BUILD"],"type":"string"},"CargoDependencySpecNamedPlatform":{"description":"A named platform, like x86_64-apple-darwin.","properties":{"name":{"type":"string"}},"required":["name"],"type":"object"},"CargoVersionReqOp":{"default":"OP_UNSPECIFIED","enum":["OP_UNSPECIFIED","OP_EXACT","OP_GREATER","OP_GREATEREQ","OP_LESS","OP_LESSEQ","OP_TILDE","OP_CARET","OP_WILDCARD"],"type":"string"},"CertificateRequestServiceCreateCertificateBody":{"description":"CertificateRequest represents a certificate signing request.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CertificateRequestSpec"},"tenant_meta":{"description":"Tenant metadata required for certificate requests.","title":"Tenant metadata required for certificate requests.","type":"object"},"uuid":{"description":"The UUID of a certificate request.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"CfgAll":{"properties":{"expr":{"items":{"$ref":"#/components/schemas/CfgCfgExpr"},"type":"array"}},"type":"object"},"CfgCfgExpr":{"properties":{"all":{"$ref":"#/components/schemas/CfgAll"},"any":{"$ref":"#/components/schemas/CargoDependencySpecCfgAny"},"not":{"$ref":"#/components/schemas/CfgNot"},"value":{"$ref":"#/components/schemas/CargoDependencySpecCfgValue"}},"type":"object"},"CfgKeyPair":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"CfgNot":{"properties":{"expr":{"$ref":"#/components/schemas/CfgCfgExpr"}},"required":["expr"],"type":"object"},"ChangeImpactServiceCreateVersionDiffBody":{"description":"Protobuf definition for VersionDiff.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VersionDiffSpec"},"tenant_meta":{"description":"Tenant metadata information.","title":"Tenant metadata information.","type":"object"},"uuid":{"description":"The UUID of the version diff.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"ChecksumHashAlgorithm":{"default":"HASH_ALGORITHM_UNSPECIFIED","description":"An enum with the possible hash functions used to create checksum value.\n\n - HASH_ALGORITHM_MD5: HASH_ALGORITHM_MD5 for MD5 hash function.\n - HASH_ALGORITHM_SHA1: HASH_ALGORITHM_SHA1 for SHA1 hash function.\n - HASH_ALGORITHM_SHA224: HASH_ALGORITHM_SHA224 for SHA224 hash function.\n - HASH_ALGORITHM_SHA256: HASH_ALGORITHM_SHA256 for SHA256 hash function.\n - HASH_ALGORITHM_SHA384: HASH_ALGORITHM_SHA384 for SHA384 hash function.\n - HASH_ALGORITHM_SHA512: HASH_ALGORITHM_SHA512 for SHA512 hash function.","enum":["HASH_ALGORITHM_UNSPECIFIED","HASH_ALGORITHM_MD5","HASH_ALGORITHM_SHA1","HASH_ALGORITHM_SHA224","HASH_ALGORITHM_SHA256","HASH_ALGORITHM_SHA384","HASH_ALGORITHM_SHA512"],"type":"string"},"ChoiceFinishReason":{"default":"FINISH_REASON_UNSPECIFIED","enum":["FINISH_REASON_UNSPECIFIED","FINISH_REASON_STOP","FINISH_REASON_TOOLS_CALL"],"type":"string"},"CiCdToolEvidence":{"properties":{"app_id":{"description":"Unigue GitHub application ID.","format":"int64","type":"string"},"app_permissions":{"additionalProperties":{"type":"string"},"description":"Permissions granted to the GitHub application.","type":"object"},"app_repo_url":{"description":"URL of the repository the GitHub application has access to.","type":"string"},"app_settings_url":{"description":"URL of the app installation settings.","type":"string"},"app_slug":{"description":"Unique GitHub application slug.","type":"string"},"badge":{"description":"Badge URL.","type":"string"},"badge_regex":{"description":"Regex used to identify badge URL.","type":"string"},"file_path":{"description":"Relative path to file.","type":"string"},"file_regex":{"description":"Regex used to identify file name.","type":"string"},"line_content":{"description":"Line content.","type":"string"},"line_number":{"description":"Line number in file.","format":"int32","type":"integer"},"line_regex":{"description":"Regex used to identify line.","type":"string"},"parent_tool_name":{"description":"Name of parent tool that this evidence belongs to.\nFor example, the parent tool is \"ghactions\" if a reference to \"uses: endorlabs\" is found in a GitHub Actions workflow file.","type":"string"},"url":{"description":"Webhook payload URL.","type":"string"},"url_regex":{"description":"Regex used to identify webhook URL.","type":"string"}},"type":"object"},"CisScorecardCisBenchmark":{"properties":{"audit":{"description":"CIS benchmark requirement audit procedure.","type":"string"},"category":{"$ref":"#/components/schemas/v1CisCategory"},"criteria":{"description":"CIS benchmark requirement title.","type":"string"},"description":{"description":"CIS benchmark requirement description.","type":"string"},"id":{"$ref":"#/components/schemas/v1CisReqId"},"index":{"description":"CIS benchmark requirement index. For example, \"2.1.4\".","type":"string"},"rationale":{"description":"CIS benchmark requirement rationale statement.","type":"string"},"remediation":{"description":"CIS benchmark requirement remediation procedure.","type":"string"},"satisfied":{"description":"True if this CIS benchmark requirement is satisfied.","type":"boolean"},"sub_category":{"$ref":"#/components/schemas/v1CisSubCategory"},"version":{"description":"CIS benchmark requirement version. For example, \"v1.0.0\".","type":"string"}},"required":["id"],"type":"object"},"ClientLogServiceCreateClientLogBody":{"description":"ClientLog represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ClientLogSpec"},"tenant_meta":{"description":"Namespace of the message that is accessed.","title":"Namespace of the message that is accessed.","type":"object"},"uuid":{"description":"The UUID of the client log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"CmdLineMatchCommandSource":{"default":"COMMAND_SOURCE_UNSPECIFIED","description":"CommandSource names the hook payload the evaluated command text was read\nfrom. A shell exposed as an MCP tool (e.g. Claude Desktop's \"workspace\"\nserver, tool \"bash\") carries its command in mcp_tool.tool_input rather\nthan in cmd_line, so CmdLine policies read from either payload and record\nwhich one they read.\n\n - COMMAND_SOURCE_UNSPECIFIED: Records written before the command source was tracked.\n - COMMAND_SOURCE_CMD_HOOK: spec.cmd_line: the agent's own shell tool.\n - COMMAND_SOURCE_MCP_TOOL_INPUT: spec.mcp_tool.tool_input: a shell exposed as an MCP tool.","enum":["COMMAND_SOURCE_UNSPECIFIED","COMMAND_SOURCE_CMD_HOOK","COMMAND_SOURCE_MCP_TOOL_INPUT"],"type":"string"},"CodeOwnersServiceCreateCodeOwnersBody":{"description":"Code owner information for a project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CodeOwnersSpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"CodeOwnersServiceUpdateCodeOwnersBody":{"description":"Request to update a CodeOwners object.","properties":{"object":{"description":"Code owner information for a project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CodeOwnersSpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"CommitCommitType":{"default":"COMMIT_TYPE_UNSPECIFIED","description":" - COMMIT_TYPE_UNSPECIFIED: Commit type is undefined.\n - COMMIT_TYPE_UPSTREAM: Signifies that the commit is taken directly from an upstream commit that has not been manually modified by Endor Labs.\n - COMMIT_TYPE_MANUAL: Signifies that manual changes were made by Endor Labs.","enum":["COMMIT_TYPE_UNSPECIFIED","COMMIT_TYPE_UPSTREAM","COMMIT_TYPE_MANUAL"],"type":"string"},"ComplianceEnrollmentServiceCreateComplianceEnrollmentBody":{"description":"ComplianceEnrollment holds a tenant's Anthropic Compliance API enrollment:\nthe Access Key the server-side directory sync authenticates with, and the\nswitch that pauses the sync without discarding the key.\n\nThis is a credential, not an integration that produces scannable projects,\nso it is its own resource rather than an Installation platform type. The\ncompliancedirsyncer housekeeping job reads it on its own cadence; nothing\nabout it reaches the scan scheduler.\n\nOne per tenant. The sync reconciles a whole namespace against one directory,\nso a second enrollment in the same namespace would treat every user the\nfirst one synced as departed and delete their entries. A unique index on\ntenant_meta.namespace enforces this in storage.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ComplianceEnrollmentSpec"},"tenant_meta":{"description":"ComplianceEnrollments are associated with a tenant.","title":"ComplianceEnrollments are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a ComplianceEnrollment.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"ComplianceEnrollmentServiceUpdateComplianceEnrollmentBody":{"description":"Request to update a ComplianceEnrollment.","properties":{"object":{"description":"ComplianceEnrollment holds a tenant's Anthropic Compliance API enrollment:\nthe Access Key the server-side directory sync authenticates with, and the\nswitch that pauses the sync without discarding the key.\n\nThis is a credential, not an integration that produces scannable projects,\nso it is its own resource rather than an Installation platform type. The\ncompliancedirsyncer housekeeping job reads it on its own cadence; nothing\nabout it reaches the scan scheduler.\n\nOne per tenant. The sync reconciles a whole namespace against one directory,\nso a second enrollment in the same namespace would treat every user the\nfirst one synced as departed and delete their entries. A unique index on\ntenant_meta.namespace enforces this in storage.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ComplianceEnrollmentSpec"},"tenant_meta":{"description":"ComplianceEnrollments are associated with a tenant.","title":"ComplianceEnrollments are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a ComplianceEnrollment.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta"],"type":"object"},"ConfigCVSSNode":{"properties":{"cpe_match":{"items":{"$ref":"#/components/schemas/CVSSNodeCpeMatch"},"type":"array"},"negate":{"type":"boolean"},"operator":{"$ref":"#/components/schemas/ConfigOperator"}},"required":["operator","cpe_match"],"type":"object"},"ConfigOperator":{"default":"OPERATOR_UNSPECIFIED","enum":["OPERATOR_UNSPECIFIED","OPERATOR_AND","OPERATOR_OR"],"type":"string"},"ContainerBaseImageUpdateImpactQueryServiceCreateContainerBaseImageUpdateImpactQueryBody":{"description":"ContainerBaseImageUpdateImpactQuery computes, on demand, how the vulnerability\nfindings of a scanned container image's base image would change if the base\nwere moved to each of its available update options (refreshed, next, latest).\nIt is a computed query in the style of DashboardSummaryQuery: the response is\nderived live from existing Finding and PackageVersion records and is never\npersisted, so it cannot go stale as findings are recomputed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactQuerySpec"},"tenant_meta":{"description":"The query is scoped to a tenant.","title":"The query is scoped to a tenant.","type":"object"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ContainerBaseImageUpdateImpactRecordsQueryReachabilityBucket":{"default":"REACHABILITY_BUCKET_UNSPECIFIED","description":"A reachability bucket to page (the reachability view).\n\n - REACHABILITY_BUCKET_UNSPECIFIED: The reachability bucket was not set.\n - REACHABILITY_BUCKET_REACHABLE: Findings on dependencies reachable in the app image.\n - REACHABILITY_BUCKET_POTENTIALLY_REACHABLE: Findings on dependencies that may be reachable in the app image.\n - REACHABILITY_BUCKET_UNREACHABLE: Findings on dependencies not reachable in the app image.","enum":["REACHABILITY_BUCKET_UNSPECIFIED","REACHABILITY_BUCKET_REACHABLE","REACHABILITY_BUCKET_POTENTIALLY_REACHABLE","REACHABILITY_BUCKET_UNREACHABLE"],"type":"string"},"ContainerBaseImageUpdateImpactRecordsQueryServiceCreateContainerBaseImageUpdateImpactRecordsQueryBody":{"description":"ContainerBaseImageUpdateImpactRecordsQuery pages through the full fixed or\nintroduced finding list for a single update option and a single bucket (one\nseverity or one reachability bucket), using the standard ListParameters\npagination contract. It backs each per-bucket \"View more\" in the impact UI.\nThe impact query above returns only the top-N inline records per bucket; this\nquery is the drill-down for the complete per-bucket, per-kind set.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySpec"},"tenant_meta":{"description":"The query is scoped to a tenant.","title":"The query is scoped to a tenant.","type":"object"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ContainerBaseImageUpdateImpactRecordsQueryUpdateOptionKind":{"default":"UPDATE_OPTION_KIND_UNSPECIFIED","description":"Which update option's diff to page through.\n\n - UPDATE_OPTION_KIND_UNSPECIFIED: The update option was not set.\n - UPDATE_OPTION_KIND_REFRESHED: The refreshed base (update_options.refreshed).\n - UPDATE_OPTION_KIND_NEXT: The next base (update_options.next_version).\n - UPDATE_OPTION_KIND_LATEST: The latest base (update_options.latest_version).","enum":["UPDATE_OPTION_KIND_UNSPECIFIED","UPDATE_OPTION_KIND_REFRESHED","UPDATE_OPTION_KIND_NEXT","UPDATE_OPTION_KIND_LATEST"],"type":"string"},"ContainerContextDiffQueryServiceCreateContainerContextDiffQueryBody":{"description":"ContainerContextDiffQuery computes, on demand, the finding delta between two\nscanned container PackageVersions: typically a MAIN-context baseline scan\nof an image and an alternative-context (REF) scan of a newer build of the\nsame image. It is a computed query in the style of\nContainerBaseImageUpdateImpactQuery: the response is derived live from\nexisting Finding and PackageVersion records and is never persisted, so it\ncannot go stale as findings are recomputed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerContextDiffQuerySpec"},"tenant_meta":{"description":"The query is scoped to a tenant.","title":"The query is scoped to a tenant.","type":"object"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ContainerContextDiffRecordScope":{"default":"RECORD_SCOPE_UNSPECIFIED","description":"Which finding types a stored suppression covers. Members mirror\nFindingRecordScope by number.\n\n - RECORD_SCOPE_UNSPECIFIED: Unset; treated as RECORD_SCOPE_ALL.\n - RECORD_SCOPE_ALL: Every finding common with the baseline.\n - RECORD_SCOPE_VULNERABILITY: Vulnerability findings only.","enum":["RECORD_SCOPE_UNSPECIFIED","RECORD_SCOPE_ALL","RECORD_SCOPE_VULNERABILITY"],"type":"string"},"ContainerContextDiffRecordsQueryServiceCreateContainerContextDiffRecordsQueryBody":{"description":"ContainerContextDiffRecordsQuery pages through the full fixed, introduced,\nor common finding list for a single bucket (one severity or one\nreachability bucket), using the standard ListParameters pagination\ncontract. It backs each per-bucket \"View more\" in the diff UI, and is also\nhow `--snooze-baseline-findings` pages the RECORD_KIND_COMMON set to\ndetermine what to suppress. The diff query above returns only the top-N\ninline records per bucket; this query is the drill-down for the complete\nper-bucket, per-kind set.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQuerySpec"},"tenant_meta":{"description":"The query is scoped to a tenant.","title":"The query is scoped to a tenant.","type":"object"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ContainerProfileDetailsApplicationType":{"default":"APPLICATION_TYPE_UNSPECIFIED","description":"ApplicationType represents the type of the application.\n\n - APPLICATION_TYPE_UNSPECIFIED: Unspecified application type.\n - APPLICATION_TYPE_CLI: CLI application type.\nIt is typically set when container image does not have any exposed ports.\n - APPLICATION_TYPE_SERVER: Server application type.\nIt is typically set when container image has exposed ports.","enum":["APPLICATION_TYPE_UNSPECIFIED","APPLICATION_TYPE_CLI","APPLICATION_TYPE_SERVER"],"type":"string"},"ContainerProfileDetailsProfileType":{"default":"PROFILE_TYPE_UNSPECIFIED","description":"ProfileType represents the type of the profile.\n\n - PROFILE_TYPE_UNSPECIFIED: Unspecified profile type.\n - PROFILE_TYPE_BASIC: Basic profile type.\nIt Indicates that a container image was profiled using a built in profiling mechanism.\n - PROFILE_TYPE_INSTRUMENTED: Instrumented profile type.\nIt Indicates that a container image was profiled using an instrumented profiling mechanism.","enum":["PROFILE_TYPE_UNSPECIFIED","PROFILE_TYPE_BASIC","PROFILE_TYPE_INSTRUMENTED"],"type":"string"},"ContainerProfileErrorContainerProfileStatus":{"default":"CONTAINER_PROFILE_STATUS_UNSPECIFIED","description":"ContainerProfileStatus indicates the result of profiling a container image.\n\n - CONTAINER_PROFILE_STATUS_UNSPECIFIED: CONTAINER_PROFILE_STATUS_UNSPECIFIED indicates that the container profile\nstatus has not been set or is unknown.\n - CONTAINER_PROFILE_STATUS_PLUGIN_NOT_FOUND: CONTAINER_PROFILE_STATUS_PLUGIN_NOT_FOUND indicates that the Mint toolkit\nplugin required for profiling the container image was not found.\nThis typically occurs when the profiling environment is misconfigured\nor the required Mint toolkit plugin is not installed.\n - CONTAINER_PROFILE_STATUS_TIMEOUT: CONTAINER_PROFILE_STATUS_TIMEOUT indicates that the profiling operation\nexceeded the allowed time limit.\nThis typically occurs for complex container images that require\nextensive processing time or when system resources are constrained.\n - CONTAINER_PROFILE_STATUS_IMAGE_TOO_LARGE: CONTAINER_PROFILE_STATUS_IMAGE_TOO_LARGE indicates that the container\nimage exceeds the maximum allowed size for profiling.\nThis typically occurs when the uncompressed container image size\nexceeds the system's configured size limit for profiling operations.\n - CONTAINER_PROFILE_STATUS_IMAGE_NOT_RUNNABLE: CONTAINER_PROFILE_STATUS_IMAGE_NOT_RUNNABLE indicates that the container\nimage cannot be executed without additional configuration.\nThis typically occurs when the container image requires specific\nenvironment variables, volumes, network configuration, or entrypoint\narguments that were not provided during the profiling attempt.\n - CONTAINER_PROFILE_STATUS_MINT_PLUGIN_ERROR: CONTAINER_PROFILE_STATUS_MINT_PLUGIN_ERROR indicates that the Mint plugin\nencountered an error while profiling the container image.\nThis typically occurs when the Mint plugin encounters an unexpected\ncondition, such as incompatible image format, corrupted layers, or\ninternal plugin failures during the profiling process.\n - CONTAINER_PROFILE_STATUS_ARTIFACTS_NOT_FOUND: CONTAINER_PROFILE_STATUS_ARTIFACTS_NOT_FOUND indicates that the expected\nprofiling artifacts were not found after the profiling operation completed.\nThis typically occurs when the profiling process runs successfully but\nfails to produce or persist the expected output artifacts, possibly due\nto storage issues or unexpected container behavior during profiling.\n - CONTAINER_PROFILE_STATUS_INTERNAL_ERROR: CONTAINER_PROFILE_STATUS_INTERNAL_ERROR indicates that an internal error occurred while profiling the container image.\nThis typically occurs when an unexpected error occurs during the profiling process,\nsuch as a programming error or an unexpected system failure.\n - CONTAINER_PROFILE_STATUS_PLUGIN_SETUP: CONTAINER_PROFILE_STATUS_PLUGIN_SETUP indicates that an error occurred while setting up the Mint toolkit plugin.\nThis typically occurs when there is an error in setting up the Mint toolkit plugin.\n - CONTAINER_PROFILE_STATUS_PROFILE_LOAD: CONTAINER_PROFILE_STATUS_PROFILE_LOAD indicates that the profiling data was not found or corrupted.\nIndicates that the profiling is successfully completed but the profiling data was not found or corrupted.\nIt can happen if the creport.json file is not found or corrupted.\n - CONTAINER_PROFILE_STATUS_MINT_VERSION_INCOMPATIBLE: CONTAINER_PROFILE_STATUS_MINT_VERSION_INCOMPATIBLE indicates that the Mint version is incompatible with the profiling requirements.\nThis typically occurs when the Mint version is not compatible with the profiling requirements.\n - CONTAINER_PROFILE_STATUS_IMAGE_TYPE_BASE: CONTAINER_PROFILE_STATUS_IMAGE_TYPE_BASE indicates that the container\nimage was identified as a base image (OS distribution or language runtime)\nand dynamic profiling was skipped because base images contain no\napplication code to profile.","enum":["CONTAINER_PROFILE_STATUS_UNSPECIFIED","CONTAINER_PROFILE_STATUS_PLUGIN_NOT_FOUND","CONTAINER_PROFILE_STATUS_TIMEOUT","CONTAINER_PROFILE_STATUS_IMAGE_TOO_LARGE","CONTAINER_PROFILE_STATUS_IMAGE_NOT_RUNNABLE","CONTAINER_PROFILE_STATUS_MINT_PLUGIN_ERROR","CONTAINER_PROFILE_STATUS_ARTIFACTS_NOT_FOUND","CONTAINER_PROFILE_STATUS_INTERNAL_ERROR","CONTAINER_PROFILE_STATUS_PLUGIN_SETUP","CONTAINER_PROFILE_STATUS_PROFILE_LOAD","CONTAINER_PROFILE_STATUS_MINT_VERSION_INCOMPATIBLE","CONTAINER_PROFILE_STATUS_IMAGE_TYPE_BASE"],"type":"string"},"ContextContextType":{"default":"CONTEXT_TYPE_UNSPECIFIED","description":" - CONTEXT_TYPE_MAIN: Objects from a scan of the default branch.\nAll objects in the oss namespace are in the main context.\nThe context id is always \"default\".\n - CONTEXT_TYPE_EXTERNAL: Indicates that this object is a copy/temporary value of an object in\nanother project. Used for same-tenant dependencies. In source code\nreference this is equivalent to \"vendor\" folders. Package versions in\nthe external context are only scanned for call graphs. No other\noperations are performed on them.\n - CONTEXT_TYPE_CI_RUN: Objects from a PR scan. The context id is the PR UUID.\nObjects in this context are deleted after 30 days.\n - CONTEXT_TYPE_SBOM: Objects from an SBOM scan. The context id is the SBOM serial number or\nsome other unique identifier.\n - CONTEXT_TYPE_REF: Objects from a scan of a specific branch. The context id is the branch\nreference name.","enum":["CONTEXT_TYPE_UNSPECIFIED","CONTEXT_TYPE_MAIN","CONTEXT_TYPE_EXTERNAL","CONTEXT_TYPE_CI_RUN","CONTEXT_TYPE_SBOM","CONTEXT_TYPE_REF"],"type":"string"},"ContributorHistoryServiceCreateContributorHistoryBody":{"description":"ContributorHistory represents a bi-weekly snapshot of aggregated contributor data\nfor trend visualization. Each snapshot captures the state of active contributors\nin the last 90 days at the time of the snapshot.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorHistorySpec"},"tenant_meta":{"description":"Contributor history is stored per tenant.","title":"Contributor history is stored per tenant.","type":"object"},"uuid":{"description":"The UUID of the contributor history record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ContributorHistoryServiceUpdateContributorHistoryBody":{"description":"Request to update a contributor history record.","properties":{"object":{"description":"ContributorHistory represents a bi-weekly snapshot of aggregated contributor data\nfor trend visualization. Each snapshot captures the state of active contributors\nin the last 90 days at the time of the snapshot.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorHistorySpec"},"tenant_meta":{"description":"Contributor history is stored per tenant.","title":"Contributor history is stored per tenant.","type":"object"},"uuid":{"description":"The UUID of the contributor history record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ContributorIdentityMappingServiceCreateContributorIdentityMappingBody":{"description":"ContributorIdentityMapping links a SCM login to one or more normalized commit emails for a tenant.\nData is populated from SCM APIs (e.g. App based scans or PAT-backed reports) and used to deduplicate contributors across emails.\n\nDeterministic canonical_email (persisted in spec.canonical_email, applied on create/update only):\n 1. Normalize every associated email: trim ASCII whitespace and lowercase (same rules as contributor aggregation).\n 2. Deduplicate, then sort lexicographically before persisting associated_emails.\n 3. If any email is a GitHub noreply address for this login (see github.com docs: USERNAME@users.noreply.github.com\n    or ID+USERNAME@users.noreply.github.com), pick the lexicographically smallest matching noreply address.\n 4. Otherwise use the lexicographically smallest normalized email.\n\nAggregation and other readers must use spec.canonical_email as stored;\nthey must not re-derive a different \"first\" email from scan order.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorIdentityMappingSpec"},"tenant_meta":{"description":"Mappings are stored per tenant namespace.","title":"Mappings are stored per tenant namespace.","type":"object"},"uuid":{"description":"The UUID of the contributor identity mapping record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ContributorIdentityMappingServiceUpdateContributorIdentityMappingBody":{"description":"Request to update a contributor identity mapping record.","properties":{"object":{"description":"ContributorIdentityMapping links a SCM login to one or more normalized commit emails for a tenant.\nData is populated from SCM APIs (e.g. App based scans or PAT-backed reports) and used to deduplicate contributors across emails.\n\nDeterministic canonical_email (persisted in spec.canonical_email, applied on create/update only):\n 1. Normalize every associated email: trim ASCII whitespace and lowercase (same rules as contributor aggregation).\n 2. Deduplicate, then sort lexicographically before persisting associated_emails.\n 3. If any email is a GitHub noreply address for this login (see github.com docs: USERNAME@users.noreply.github.com\n    or ID+USERNAME@users.noreply.github.com), pick the lexicographically smallest matching noreply address.\n 4. Otherwise use the lexicographically smallest normalized email.\n\nAggregation and other readers must use spec.canonical_email as stored;\nthey must not re-derive a different \"first\" email from scan order.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorIdentityMappingSpec"},"tenant_meta":{"description":"Mappings are stored per tenant namespace.","title":"Mappings are stored per tenant namespace.","type":"object"},"uuid":{"description":"The UUID of the contributor identity mapping record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ContributorServiceCreateContributorBody":{"description":"Contributor represents a contributor discovered from git repository scans.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorSpec"},"tenant_meta":{"description":"Contributors are associated with a tenant.","title":"Contributors are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the contributor record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"CriticalIdentity":{"properties":{"docker_reference":{"description":"The reference used to refer to or download the image.","type":"string"}},"type":"object"},"CriticalImage":{"properties":{"docker_manifest_digest":{"description":"The manifest digest of the signed container image.","type":"string"},"docker_manifest_image":{"type":"string"}},"type":"object"},"CvssDataV2AccessComplexity":{"default":"ACCESS_COMPLEXITY_UNSPECIFIED","enum":["ACCESS_COMPLEXITY_UNSPECIFIED","ACCESS_COMPLEXITY_HIGH","ACCESS_COMPLEXITY_MEDIUM","ACCESS_COMPLEXITY_LOW"],"type":"string"},"CvssDataV2Auth":{"default":"AUTH_UNSPECIFIED","enum":["AUTH_UNSPECIFIED","AUTH_MULTIPLE","AUTH_SINGLE","AUTH_NONE"],"type":"string"},"CvssDataV2CollateralDamagePotential":{"default":"COLLATERAL_DAMAGE_POTENTIAL_UNSPECIFIED","enum":["COLLATERAL_DAMAGE_POTENTIAL_UNSPECIFIED","COLLATERAL_DAMAGE_POTENTIAL_NONE","COLLATERAL_DAMAGE_POTENTIAL_LOW","COLLATERAL_DAMAGE_POTENTIAL_LOW_MEDIUM","COLLATERAL_DAMAGE_POTENTIAL_MEDIUM_HIGH","COLLATERAL_DAMAGE_POTENTIAL_HIGH","COLLATERAL_DAMAGE_POTENTIAL_NOT_DEFINED"],"type":"string"},"CvssDataV2Exploitability":{"default":"EXPLOITABILITY_UNSPECIFIED","enum":["EXPLOITABILITY_UNSPECIFIED","EXPLOITABILITY_UNPROVEN","EXPLOITABILITY_PROOF_OF_CONCEPT","EXPLOITABILITY_FUNCTIONAL","EXPLOITABILITY_HIGH","EXPLOITABILITY_NOT_DEFINED"],"type":"string"},"CvssDataV2ReportConfidence":{"default":"REPORT_CONFIDENCE_UNSPECIFIED","enum":["REPORT_CONFIDENCE_UNSPECIFIED","REPORT_CONFIDENCE_UNCONFIRMED","REPORT_CONFIDENCE_UNCORROBORATED","REPORT_CONFIDENCE_CONFIRMED","REPORT_CONFIDENCE_NOT_DEFINED"],"type":"string"},"CvssDataV2TargetDistribution":{"default":"TARGET_DISTRIBUTION_UNSPECIFIED","enum":["TARGET_DISTRIBUTION_UNSPECIFIED","TARGET_DISTRIBUTION_NONE","TARGET_DISTRIBUTION_LOW","TARGET_DISTRIBUTION_MEDIUM","TARGET_DISTRIBUTION_HIGH","TARGET_DISTRIBUTION_NOT_DEFINED"],"type":"string"},"CvssDataV2V2Impact":{"default":"V2_IMPACT_IMPACT_UNSPECIFIED","enum":["V2_IMPACT_IMPACT_UNSPECIFIED","V2_IMPACT_IMPACT_NONE","V2_IMPACT_IMPACT_PARTIAL","V2_IMPACT_IMPACT_COMPLETE"],"type":"string"},"DashboardConfigDevEstimateConfig":{"properties":{"baseline_findings_filter":{"description":"Baseline for the findings count in the dev estimate.","type":"string"},"currency_code":{"description":"The currency code to use in estimate displays.","type":"string"},"dev_hours":{"description":"The projected value for dev hours per vulnerability.","format":"double","type":"number"},"hourly_cost":{"description":"The projected value for hourly cost per dev hour.","format":"double","type":"number"}},"type":"object"},"DashboardConfigReviewTimeConfig":{"description":"Configuration for calculating review time saved.","properties":{"large_pr_minutes":{"description":"Time in minutes to review a large PR (more than 500 lines).","format":"int32","type":"integer"},"medium_pr_minutes":{"description":"Time in minutes to review a medium PR (100-500 lines).","format":"int32","type":"integer"},"small_pr_minutes":{"description":"Time in minutes to review a small PR (less than 100 lines).","format":"int32","type":"integer"}},"type":"object"},"DashboardConfigSLAConfig":{"properties":{"critical":{"description":"SLA days for critical findings.","format":"int32","type":"integer"},"high":{"description":"SLA days for critical findings.","format":"int32","type":"integer"},"low":{"description":"SLA days for critical findings.","format":"int32","type":"integer"},"medium":{"description":"SLA days for critical findings.","format":"int32","type":"integer"}},"type":"object"},"DashboardConfigServiceCreateDashboardConfigBody":{"description":"DashboardConfig represents the dashboard configuration for a namespace.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1DashboardConfigSpec"},"tenant_meta":{"description":"DashboardConfig is associated with a tenant and namespace.","title":"DashboardConfig is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the dashboard configuration object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"DashboardConfigServiceUpdateDashboardConfigBody":{"description":"Request to update a dashboard configuration object.","properties":{"object":{"description":"DashboardConfig represents the dashboard configuration for a namespace.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1DashboardConfigSpec"},"tenant_meta":{"description":"DashboardConfig is associated with a tenant and namespace.","title":"DashboardConfig is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the dashboard configuration object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"DashboardConfigShiftLeftEstimateConfig":{"description":"Configuration for calculating shift-left estimated savings.","properties":{"post_merge_fix_minutes":{"description":"Estimated minutes to fix an issue caught post-merge.","format":"double","type":"number"},"pre_merge_fix_minutes":{"description":"Estimated minutes to fix an issue caught pre-merge.","format":"double","type":"number"}},"type":"object"},"DashboardConfigVulnPrioritizationConfig":{"properties":{"epss_probability_score_threshold":{"description":"Threshhold for EPSS probability score in the vuln prioritization.","format":"double","type":"number"},"finding_reachability_tags":{"description":"Finding tags to use with reachability filter.","items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"}},"type":"object"},"DashboardSummaryQueryServiceCreateDashboardSummaryQueryBody":{"description":"DashboardSummaryQuery is an internal API to accelerate the UI operations.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DashboardSummaryQuerySpec"},"tenant_meta":{"description":"Dashboard Summary are associated with a tenant.","title":"Dashboard Summary are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the dashboard summary.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"DemoServiceCreateDemoBody":{"description":"Demo provides a mechanism for isolating groups of resources.\nDemos may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DemoSpec"},"tenant_meta":{"description":"Demos are per tenant.","title":"Demos are per tenant.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for a namespace resource.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"DemoServiceUpdateDemoBody":{"description":"Request to update the demo.","properties":{"object":{"description":"Demo provides a mechanism for isolating groups of resources.\nDemos may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DemoSpec"},"tenant_meta":{"description":"Demos are per tenant.","title":"Demos are per tenant.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for a namespace resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"DependencyImportedType":{"default":"IMPORTED_TYPE_UNSPECIFIED","description":"ImportedType is the state of import.\n\n - IMPORTED_TYPE_UNSPECIFIED: UNSPECIFIED is the default state. This state denotes that imported\ndependency analysis has not been run yet for this dependency.\n - IMPORTED_TYPE_IN_SOURCE: IN_SOURCE means the imported dependency analysis succeeded and found\nthat the dependency is imported in source.\n - IMPORTED_TYPE_NOT_IN_SOURCE: NOT_IN_SOURCE means the imported dependency analysis succeeded and\nfound that the dependency is not imported in source.\n - IMPORTED_TYPE_PHANTOM: PHANTOM means the imported dependency analysis succeeded and found that\nthe dependency is imported only in the source (a phantom dependency).\n - IMPORTED_TYPE_SEGMENT_MATCH: Dependency was discovered through code segment match.\n - IMPORTED_TYPE_INSTALLED_IN_USE: Dependency was discovered through installed dependencies and it is in use.","enum":["IMPORTED_TYPE_UNSPECIFIED","IMPORTED_TYPE_IN_SOURCE","IMPORTED_TYPE_NOT_IN_SOURCE","IMPORTED_TYPE_PHANTOM","IMPORTED_TYPE_SEGMENT_MATCH","IMPORTED_TYPE_INSTALLED_IN_USE"],"type":"string"},"DependencyMetadataDependencyData":{"description":"Information about the dependency.","properties":{"abstract":{"description":"True if the dependency is an abstract dependency, such as a secondary Pom\nfile.","type":"boolean"},"approximation":{"description":"True if this is an approximate dependency based on unresolved package\ndependencies.","type":"boolean"},"callgraph_available":{"description":"True if the call graph is available.","type":"boolean"},"container_data":{"$ref":"#/components/schemas/v1ContainerDependencyMetadata"},"declared_licenses":{"description":"Declared license information for the dependency.","items":{"$ref":"#/components/schemas/v1LicenseDependencyMetadata"},"type":"array"},"direct":{"description":"True if this is a direct dependency.","type":"boolean"},"discovered_licenses":{"description":"Discovered license information for the dependency.","items":{"$ref":"#/components/schemas/v1LicenseDependencyMetadata"},"type":"array"},"discovery_type":{"$ref":"#/components/schemas/DependencyMetadataDiscoveryType"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"eol":{"description":"Indicates whether the dependency is end of life.","type":"boolean"},"eol_timestamp":{"description":"End of life timestamp for the dependency package version.","format":"date-time","type":"string"},"forked":{"description":"Set to true if the dependency is a downstream fork of a public dependency.\nTrue exactly when upstream_reference names a package, so both fields are\nwritten together.","type":"boolean"},"internal":{"description":"True if the dependency is in the same namespace or, if the\nnamespace is oss, in the same project as the importer.","type":"boolean"},"last_commit":{"description":"Date that the dependency was last modified.","format":"date-time","type":"string"},"locked":{"description":"Set to true if the dependency is fixed to a specific version by a\nlock file at install time (outcome).\n\nIf a dependency is locked, but not pinned, it could drift if the\nlock file is regenerated (for example, by 'npm update').","type":"boolean"},"missing":{"description":"True if the package version is missing for this dependency.","type":"boolean"},"namespace":{"description":"Namespace to which the dependency package version object belongs.","type":"string"},"native_scope":{"description":"Un-normalized native dependency scope from the package manager (e.g.\nMaven \"provided\"), before it is collapsed into scope. Empty if none.","type":"string"},"orphan":{"description":"Deprecated.","type":"boolean"},"package_name":{"description":"Qualified dependency package name. Does not include the version.\nFor example, for go://package@v1.2.3 this is set to \"go://package\".","type":"string"},"package_version_uuid":{"description":"the UUID of the dependency package version object.","type":"string"},"parent_count":{"description":"Total number of direct parents in dependency graph.","format":"int64","type":"integer"},"parent_version_name":{"description":"Fully qualified name of the direct parent of the dependency. For example,\ngo://package@v1.2.3.","type":"string"},"patched":{"description":"Indicates whether the dependency version was patched or not.","type":"boolean"},"pinned":{"description":"Set to true of the dependency is fixed to a specific version by a\nmanifest file (intent).\n\nFor example, in package.json, \"lodash\": \"4.17.21\" is pinned while\n\"lodash\": \"^4.0.0\" is not (it's a range, \"any 4.x\").","type":"boolean"},"project_paths":{"description":"List of all project paths to this dependency from the root package\nversion (importer).","items":{"$ref":"#/components/schemas/v1DependencyMetadataPath"},"type":"array"},"project_uuid":{"description":"The UUID of the project to which the dependency belongs.","type":"string"},"public":{"description":"True if the dependency is public.","type":"boolean"},"purl":{"description":"The purl for the dependency package version.","type":"string"},"reachable":{"$ref":"#/components/schemas/DependencyMetadataReachabilityType"},"repo_name":{"description":"Name of the repository to which the dependency belongs.","type":"string"},"resolved_version":{"description":"Resolved dependency package version. For example, \"v2.0.0\".","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"unresolved_version":{"description":"Unresolved dependency package version string. For example, \"v2.0.0\".","type":"string"},"upstream_reference":{"description":"The public package this private dependency was forked from, so its\nvulnerabilities can be attributed to the fork. Empty means the resolver\nhas not run yet; \"N/A\" means it ran and found no upstream.","type":"string"},"utilization":{"description":"Percent of the dependency used based on the call graph. Implementation\npending.","format":"float","type":"number"},"vendored":{"description":"True if the dependency is a vendored dependency.","type":"boolean"}},"required":["direct"],"type":"object"},"DependencyMetadataDiscoveryType":{"default":"DISCOVERY_TYPE_UNSPECIFIED","description":" - DISCOVERY_TYPE_MANIFEST: Dependency was discovered through a manifest file.\n - DISCOVERY_TYPE_PHANTOM: Dependency was discovered through phantom dependency / imported\ndependency analysis.\n - DISCOVERY_TYPE_SEGMENT_MATCH: Dependency was discovered via code segment match.","enum":["DISCOVERY_TYPE_UNSPECIFIED","DISCOVERY_TYPE_MANIFEST","DISCOVERY_TYPE_PHANTOM","DISCOVERY_TYPE_SEGMENT_MATCH"],"type":"string"},"DependencyMetadataImporterData":{"description":"Information about the root package version (importer),\nthat imports the dependency in one or more versions,\neither directly or indirectly.","properties":{"callgraph_available":{"description":"True if the call graph is available for the root package version.","type":"boolean"},"container_base_image":{"$ref":"#/components/schemas/v1ContainerBaseImage"},"package_name":{"description":"Qualified package name of the root package version.\nFor example, for go://package@v1.2.3 this is set to \"go://package\".","type":"string"},"package_version_name":{"description":"Fully qualified name of the root package version. For example,\ngo://package@v1.2.3.","type":"string"},"package_version_ref":{"description":"Resolved ref of the source control version for the root package version.\nCan be a tag, a branch or a SHA.","type":"string"},"package_version_sha":{"description":"SHA of the source control version for the root package version.\nBecause the SHA might not be possible to resolved, this field is\noptional.","type":"string"},"package_version_uuid":{"description":"The UUID of the importer package version object.\nThis is the same as the parent UUID of this object (meta.parent_uuid).","type":"string"},"project_uuid":{"description":"The UUID of the project to which the root package belongs.","type":"string"},"version_name":{"description":"Version number of the root package version.\n\nFor example, for go://package@v1.2.3 this is set to \"v1.2.3\".","type":"string"}},"required":["project_uuid","package_name","package_version_uuid","package_version_name","package_version_ref","callgraph_available"],"type":"object"},"DependencyMetadataReachabilityType":{"default":"REACHABILITY_TYPE_UNSPECIFIED","description":" - REACHABILITY_TYPE_REACHABLE: Call graph analysis determined that the dependency is likely reachable.\n - REACHABILITY_TYPE_UNREACHABLE: Call graph analysis determined that the dependency is likely not\nreachable.\n - REACHABILITY_TYPE_UNKNOWN: Not enough information to perform reachability analysis.\n - REACHABILITY_TYPE_REACHABLE_BY_INCLUSION: The vulnerability is assumed reachable due to how the dependency is typically used; no call paths exist for this finding.","enum":["REACHABILITY_TYPE_UNSPECIFIED","REACHABILITY_TYPE_REACHABLE","REACHABILITY_TYPE_UNREACHABLE","REACHABILITY_TYPE_UNKNOWN","REACHABILITY_TYPE_REACHABLE_BY_INCLUSION"],"type":"string"},"DependencyMetadataServiceCreateDependencyMetadataBody":{"description":"Information about the relationship between a root package version (importer)\nand one of its dependencies.\nDependencyMetadata objects are children of the root PackageVersion object and\nbelong to the same project and namespace as the root PackageVersion object.\nThey are connected to the importer project through\nspec.importer_data.project_uuid, and to the dependency project through\nspec.dependency_data.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DependencyMetadataSpec"},"tenant_meta":{"description":"Information about the tenant to which the root package (importer) belongs.","title":"Information about the tenant to which the root package (importer) belongs.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"DependencyMetadataServiceUpdateDependencyMetadataBody":{"description":"Request to update a DependencyMetadata object.","properties":{"object":{"description":"Information about the relationship between a root package version (importer)\nand one of its dependencies.\nDependencyMetadata objects are children of the root PackageVersion object and\nbelong to the same project and namespace as the root PackageVersion object.\nThey are connected to the importer project through\nspec.importer_data.project_uuid, and to the dependency project through\nspec.dependency_data.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DependencyMetadataSpec"},"tenant_meta":{"description":"Information about the tenant to which the root package (importer) belongs.","title":"Information about the tenant to which the root package (importer) belongs.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"DepsDevPackageServiceCreateDepsDevPackageBody":{"description":"DepsDevPackage stores package metadata from deps.dev snapshots.\nThis data includes package popularity (dependents count) and age information\nused for typosquatting detection and package analysis.\n\nMongoDB Atlas Search Index Configuration:\nTo enable fuzzy typosquatting detection, create an Atlas Search index on this collection with:\n  - Field: meta.name\n    Type: string\n    Analyzer: lucene.keyword (treats full package identifier as single token)\n  - Field: spec.ecosystem\n    Type: token\n    Normalizer: lowercase\n  - Field: tenant_meta.namespace\n    Type: token\n    Normalizer: lowercase","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DepsDevPackageSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"DetectLicenseQueryServiceCreateDetectLicenseQueryBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DetectLicenseQuerySpec"},"tenant_meta":{"title":"tenant metadata","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"title":"DetectLicenseQuery","type":"object"},"EndorIgnoreEntryServiceCreateEndorIgnoreEntryBody":{"description":"Represents a single entry in the ignore file.\n\nEndorIgnoreEntry objects are created by the endorctl client after\nreading and processing the ignore file during the git scan,\nand then applied to the findings during the analytics scan.\n\nThe ignore file is either a raw list of vulnerability ids\n(one per line), or a YAML file that contains a list of ignore entries,\neach identifying one or more findings in a repository version.\nThe file is formatted manually or via the endorctl ignore command.\n\nEach entry must specify at least the finding name or the vulnerability ID.\nThe more fields you provide, the more specific the ignore entry is.\nI.e. if you only provide the finding name and there are multiple\nfindings with the same name in the same repository version,\nthe ignore entry is applied to all of them.\nUse the endorctl ignore --finding-uuid option to automatically populate\nall fields of the ignore entry based on a given finding.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorIgnoreEntrySpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"EndorIgnoreEntryServiceUpdateEndorIgnoreEntryBody":{"description":"Request to update an EndorIgnoreEntry object.","properties":{"object":{"description":"Represents a single entry in the ignore file.\n\nEndorIgnoreEntry objects are created by the endorctl client after\nreading and processing the ignore file during the git scan,\nand then applied to the findings during the analytics scan.\n\nThe ignore file is either a raw list of vulnerability ids\n(one per line), or a YAML file that contains a list of ignore entries,\neach identifying one or more findings in a repository version.\nThe file is formatted manually or via the endorctl ignore command.\n\nEach entry must specify at least the finding name or the vulnerability ID.\nThe more fields you provide, the more specific the ignore entry is.\nI.e. if you only provide the finding name and there are multiple\nfindings with the same name in the same repository version,\nthe ignore entry is applied to all of them.\nUse the endorctl ignore --finding-uuid option to automatically populate\nall fields of the ignore entry based on a given finding.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorIgnoreEntrySpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"EndorLicenseServiceCreateEndorLicenseBody":{"description":"EndorLicense represents a specific Endor license assigned to a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorLicenseSpec"},"tenant_meta":{"description":"EndorLicenses are associated with a tenant.","title":"EndorLicenses are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an Endor Labs license.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"EndorLicenseServiceUpdateEndorLicenseBody":{"description":"Request to update an Endor Labs license.","properties":{"object":{"description":"EndorLicense represents a specific Endor license assigned to a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorLicenseSpec"},"tenant_meta":{"description":"EndorLicenses are associated with a tenant.","title":"EndorLicenses are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an Endor Labs license.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"EnvironmentTool":{"properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"type":"object"},"ErrorParsingRuleServiceCreateErrorParsingRuleBody":{"description":"ErrorParsingRule is an internal API to manage error parsing rules\nand regular expressions.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ErrorParsingRuleSpec"},"tenant_meta":{"description":"ErrorParsingRule are associated with a  tenant.","title":"ErrorParsingRule are associated with a  tenant.","type":"object"},"uuid":{"description":"The UUID of the for the error parsing rule.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ErrorParsingRuleServiceUpdateErrorParsingRuleBody":{"description":"Request to update an error parsing rule.","properties":{"object":{"description":"ErrorParsingRule is an internal API to manage error parsing rules\nand regular expressions.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ErrorParsingRuleSpec"},"tenant_meta":{"description":"ErrorParsingRule are associated with a  tenant.","title":"ErrorParsingRule are associated with a  tenant.","type":"object"},"uuid":{"description":"The UUID of the for the error parsing rule.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"EvaluationMethodServiceCreateEvaluationMethodBody":{"description":"EvaluationMethod represents an evaluation method.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationMethodSpec"},"tenant_meta":{"description":"EvaluationMethods are associated with a tenant and namespace.","title":"EvaluationMethods are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the evaluation method.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"EvaluationMethodServiceUpdateEvaluationMethodBody":{"description":"Request to update an evaluation method.","properties":{"object":{"description":"EvaluationMethod represents an evaluation method.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationMethodSpec"},"tenant_meta":{"description":"EvaluationMethods are associated with a tenant and namespace.","title":"EvaluationMethods are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the evaluation method.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"EvaluationParameterServiceCreateEvaluationParameterBody":{"description":"EvaluationParameter represents an evaluation parameter.\nThe parameters are applied to the method before execution.\nThe parameters correspond to the method identified by the parent UUID.\n\nOrder of evaluation:\n\nFor system methods, parameters at the system namespace\nare used first. If a tenant namespace has parameters for the\nsame method, they overwrite the system level parameters.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationParameterSpec"},"tenant_meta":{"description":"Evaluation parameters are associated with a tenant and namespace.","title":"Evaluation parameters are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the evaluation parameter.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"EvaluationParameterServiceUpdateEvaluationParameterBody":{"description":"Request to update an evaluation parameter.","properties":{"object":{"description":"EvaluationParameter represents an evaluation parameter.\nThe parameters are applied to the method before execution.\nThe parameters correspond to the method identified by the parent UUID.\n\nOrder of evaluation:\n\nFor system methods, parameters at the system namespace\nare used first. If a tenant namespace has parameters for the\nsame method, they overwrite the system level parameters.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationParameterSpec"},"tenant_meta":{"description":"Evaluation parameters are associated with a tenant and namespace.","title":"Evaluation parameters are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the evaluation parameter.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ExporterMessageTypeConfig":{"properties":{"message_export_format":{"$ref":"#/components/schemas/MessageTypeConfigMessageExportFormat"},"message_type":{"$ref":"#/components/schemas/MessageTypeConfigMessageType"}},"required":["message_type","message_export_format"],"type":"object"},"ExporterS3Config":{"properties":{"allowed_audience":{"description":"allowed_audiences is the audience that will be allowed to assume the role.","type":"string"},"assume_role_arn":{"description":"assume_role_arn is the IAM role ARN that will be assumed to access S3.","type":"string"},"bucket_name":{"description":"bucket_name is the name of the S3 bucket to export the data to.","type":"string"},"object_expiry_days":{"description":"object_expiry_days is the number of days for which the exported objects will be kept in S3.\nDeprecated: This field is deprecated and will be removed in a future release.\nThe S3 bucket should be configured with a lifecycle rule to expire objects after a certain number of days.","format":"int32","type":"integer"},"region":{"description":"region is the region to use for the S3 bucket.","type":"string"}},"required":["bucket_name","region","assume_role_arn","allowed_audience"],"type":"object"},"ExporterServiceCreateExporterBody":{"description":"Defines a data exporter.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or\nnot.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ExporterSpec"},"tenant_meta":{"description":"Exporters are associated with a tenant.","title":"Exporters are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the exporter.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ExporterServiceUpdateExporterBody":{"description":"Request to update the exporter.","properties":{"object":{"description":"Defines a data exporter.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or\nnot.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ExporterSpec"},"tenant_meta":{"description":"Exporters are associated with a tenant.","title":"Exporters are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the exporter.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ExporterWizConfig":{"properties":{"api_endpoint_url":{"description":"api_endpoint_url is the Wiz API endpoint URL.","type":"string"},"oauth_client_credentials":{"$ref":"#/components/schemas/v1OAuthClientCredentialsAuthConfig"}},"type":"object"},"ExternalProviderModelServiceCreateExternalProviderModelBody":{"description":"ExternalProviderModel represents a model from an external provider.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExternalProviderModelSpec"},"tenant_meta":{"description":"Models scanned per namespace.","title":"Models scanned per namespace.","type":"object"},"uuid":{"description":"The UUID for the ingested external provider model.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"FeedbackFeedbackType":{"default":"FEEDBACK_TYPE_UNSPECIFIED","enum":["FEEDBACK_TYPE_UNSPECIFIED","FEEDBACK_TYPE_POSITIVE","FEEDBACK_TYPE_NEGATIVE"],"type":"string"},"FeedbackServiceCreateFeedbackBody":{"description":"Feedback represents a feedback in the system.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FeedbackSpec"},"tenant_meta":{"description":"Security review pull requests are associated with a tenant.","title":"Security review pull requests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the feedback.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"FeedbackServiceUpdateFeedbackBody":{"description":"Request to update the ai feedback.","properties":{"object":{"description":"Feedback represents a feedback in the system.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FeedbackSpec"},"tenant_meta":{"description":"Security review pull requests are associated with a tenant.","title":"Security review pull requests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the feedback.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"FileHashQueryRequestFileHashQuery":{"properties":{"file_hashes":{"description":"All file hashes to query for.","items":{"type":"string"},"type":"array"},"results":{"additionalProperties":{"$ref":"#/components/schemas/FileHashQueryRequestFileHashQueryResult"},"description":"File version matches indexed by file hash.","readOnly":true,"type":"object"}},"type":"object"},"FileHashQueryRequestFileHashQueryResult":{"description":"Result for a file hash query.","properties":{"file":{"type":"string"},"library":{"type":"string"},"release_date":{"format":"date-time","type":"string"},"version":{"type":"string"},"version_unique":{"type":"string"}},"type":"object"},"FileHashQueryRequestServiceCreateFileHashQueryRequestBody":{"description":"A file hash query request allows the caller to send a set of file hashes\nand use the segment index to match those hashes to file versions\nin one or more repositories.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FileHashQueryRequestSpec"},"tenant_meta":{"description":"Namespace of the filehash query request.","title":"Namespace of the filehash query request.","type":"object"},"uuid":{"description":"The UUID of the filehash query request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"FileSegmentsServiceCreateFileSegmentsBody":{"description":"File segment metadata for a given customer source file.\nStored in mongo and used to refresh dependencies.\nNOTE: Not used for OSS-projects.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FileSegmentsSpec"},"tenant_meta":{"description":"Namespace of the file segments.","title":"Namespace of the file segments.","type":"object"},"uuid":{"description":"UUID of the file segments.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"FileSegmentsServiceUpdateFileSegmentsBody":{"description":"Request used to update file segments.","properties":{"object":{"description":"File segment metadata for a given customer source file.\nStored in mongo and used to refresh dependencies.\nNOTE: Not used for OSS-projects.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FileSegmentsSpec"},"tenant_meta":{"description":"Namespace of the file segments.","title":"Namespace of the file segments.","type":"object"},"uuid":{"description":"UUID of the file segments.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"FindingFixingUpgradesUpgradeInfo":{"description":"Information about one upgrade.","properties":{"direct_dependency_name":{"description":"Fully qualified name of the direct dependency to be upgraded.","type":"string"},"from_version":{"description":"Current version of the direct dependency.","type":"string"},"package_name":{"description":"Fully qualified name of the root package.","type":"string"},"to_version":{"description":"Version that the direct dependency should be upgraded to.","type":"string"},"upgrade_risk":{"description":"The risk of the upgrade.","type":"string"}},"type":"object"},"FindingLogServiceCreateFindingLogBody":{"description":"A finding log contains details of the state of a finding at the time it was\ncreated, updated or deleted.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingLogSpec"},"tenant_meta":{"description":"Namespace of the finding log.","title":"Namespace of the finding log.","type":"object"},"uuid":{"description":"The UUID of the finding log.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"FindingPolicyInfoPolicyResult":{"description":"Policy output.","properties":{"fields":{"additionalProperties":{"type":"string"},"description":"Map of all key-value fields in the result.","type":"object"}},"type":"object"},"FindingRefreshTrigger":{"default":"TRIGGER_UNSPECIFIED","description":"Trigger identifies which ingestion type caused this finding-refresh.\n\n - TRIGGER_UNSPECIFIED: No trigger has been set.\n - TRIGGER_VULN: A vulnerability ingestion triggered this finding-refresh.\n - TRIGGER_MALWARE: A malware ingestion triggered this finding-refresh.","enum":["TRIGGER_UNSPECIFIED","TRIGGER_VULN","TRIGGER_MALWARE"],"type":"string"},"FindingServiceCreateFindingBody":{"description":"A finding contains details of a problem that needs to be fixed.\nThe finding applies to the parent object, which can be one of:\nRepository, RepositoryVersion, or PackageVersion.\nFinding objects are connected to the project via spec.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingSpec"},"tenant_meta":{"description":"Information about the tenant and namespace that the finding belongs to.","title":"Information about the tenant and namespace that the finding belongs to.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"FindingServiceUpdateFindingBody":{"description":"Request used to update a finding.","properties":{"object":{"description":"A finding contains details of a problem that needs to be fixed.\nThe finding applies to the parent object, which can be one of:\nRepository, RepositoryVersion, or PackageVersion.\nFinding objects are connected to the project via spec.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingSpec"},"tenant_meta":{"description":"Information about the tenant and namespace that the finding belongs to.","title":"Information about the tenant and namespace that the finding belongs to.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"FindingSpecPath":{"description":"Information about one path.","properties":{"nodes":{"description":"List of structured, annotated function nodes.","items":{"$ref":"#/components/schemas/PathNode"},"type":"array"}},"type":"object"},"FunctionGraphDataServiceCreateFunctionGraphDataBody":{"description":"FunctionGraphData represents a function graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"The internal value that identifies the function graph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL to the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the function graph.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Function graph proto bytes are encoded in zstd bytes.\nIt is the responsibility of the caller to compress/uncompress the bytes.","format":"byte","type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"FunctionGraphDataServiceUpdateFunctionGraphDataBody":{"description":"Request to update function graph data.","properties":{"object":{"description":"FunctionGraphData represents a function graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"The internal value that identifies the function graph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL to the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the function graph.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Function graph proto bytes are encoded in zstd bytes.\nIt is the responsibility of the caller to compress/uncompress the bytes.","format":"byte","type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta"],"type":"object"},"FunctionSummaryHashesQueryServiceCreateFunctionSummaryHashesQueryBody":{"description":"FunctionSummaryHashesQuery reports which of the given segment hashes are\nmissing a usable function summary, of any status, at the given prompt\nversion or newer. Unlike FunctionSummaryQuery, which returns full summary\ncontent and only matches usable ('ok') summaries for search consumers,\nthis checks bare existence so a client can skip re-summarizing a segment\nalready tombstoned as trivial or failed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FunctionSummaryHashesQuerySpec"},"tenant_meta":{"description":"Tenant metadata that scopes the query.","title":"Tenant metadata that scopes the query.","type":"object"},"uuid":{"description":"Ephemeral query identifier.","readOnly":true,"type":"string"}},"required":["tenant_meta","spec"],"type":"object"},"FunctionSummaryQueryFunctionSummary":{"description":"FunctionSummary is the latest usable structured summary for one hash.","properties":{"data_flow":{"description":"Description of data flow through the function.","type":"string"},"hash":{"description":"Exact normalized Foiegras function segment hash.","type":"string"},"is_critical_api":{"description":"Whether the function is itself a security-critical API.","type":"boolean"},"is_entry_point":{"description":"Whether the function is an application entry point.","type":"boolean"},"is_sanitizer":{"description":"Whether the function sanitizes untrusted data.","type":"boolean"},"is_sink":{"description":"Whether the function consumes data in a security-sensitive operation.","type":"boolean"},"is_source":{"description":"Whether the function introduces untrusted data.","type":"boolean"},"is_trivial":{"description":"Whether the function is classified as trivial.","type":"boolean"},"keywords":{"description":"Searchable concepts associated with the function.","items":{"type":"string"},"type":"array"},"libraries":{"description":"Indexed source occurrences that provide provenance for the summary.","items":{"$ref":"#/components/schemas/FunctionSummaryQueryProvenance"},"type":"array"},"model":{"description":"AI model that produced the summary.","type":"string"},"postconditions":{"description":"Conditions expected to hold after the function executes.","items":{"type":"string"},"type":"array"},"preconditions":{"description":"Conditions expected to hold before the function executes.","items":{"type":"string"},"type":"array"},"prompt_version":{"description":"Prompt schema version that produced the summary.","format":"int32","type":"integer"},"rest_path":{"description":"REST route associated with an entry-point function.","type":"string"},"sanitizes_for":{"description":"Vulnerability classes mitigated by the function.","items":{"type":"string"},"type":"array"},"summary":{"description":"Human-readable description of the function behavior.","type":"string"},"uses_critical_api":{"description":"Whether the function invokes a security-critical API.","type":"boolean"}},"type":"object"},"FunctionSummaryQueryProvenance":{"description":"Provenance identifies one indexed occurrence of a summarized function.","properties":{"end_line":{"description":"One-based last source line.","format":"int32","type":"integer"},"file_path":{"description":"Repository-relative source file path.","type":"string"},"function_reference":{"description":"Function name or qualified reference.","type":"string"},"library":{"description":"Indexed library name.","type":"string"},"repository":{"description":"Source repository URL.","type":"string"},"start_line":{"description":"One-based first source line.","format":"int32","type":"integer"},"version":{"description":"Human-readable source version.","type":"string"},"version_unique":{"description":"Immutable source revision.","type":"string"}},"type":"object"},"FunctionSummaryQuerySearch":{"description":"Search is one exact, bounded function-summary query.","properties":{"file_path":{"description":"Exact repository-relative source path.","type":"string"},"function_references":{"description":"Exact function names or qualified references. Multiple values match any\nreference.","items":{"type":"string"},"type":"array"},"hashes":{"description":"Exact normalized Foiegras function segment hashes. Multiple values match\nany hash.","items":{"type":"string"},"type":"array"},"library":{"description":"Exact indexed library/dependency name, matched case-insensitively.","type":"string"},"limit":{"description":"Maximum number of distinct summaries to return. Defaults to 20 and is\ncapped at 100.","format":"int32","type":"integer"},"repository":{"description":"Exact source repository URL, matched case-insensitively.","type":"string"},"security_relevant_only":{"description":"Return only functions classified as a source, sink, sanitizer, entry\npoint, critical API, or critical-API user.","type":"boolean"},"version":{"description":"Exact human-readable source version or tag.","type":"string"},"version_unique":{"description":"Exact immutable source revision.","type":"string"}},"type":"object"},"FunctionSummaryQuerySearchResult":{"description":"SearchResult contains the summaries for the corresponding search.","properties":{"summaries":{"description":"Summaries matching the corresponding search.","items":{"$ref":"#/components/schemas/FunctionSummaryQueryFunctionSummary"},"type":"array"}},"type":"object"},"FunctionSummaryQueryServiceCreateFunctionSummaryQueryBody":{"description":"FunctionSummaryQuery searches structured security summaries for\nindexed OSS functions. Non-empty filters are combined with AND.","properties":{"language":{"$ref":"#/components/schemas/v1Language"},"meta":{"$ref":"#/components/schemas/v1Meta"},"results":{"description":"Results in the same order as searches.","items":{"$ref":"#/components/schemas/FunctionSummaryQuerySearchResult"},"readOnly":true,"type":"array"},"searches":{"description":"Ordered independent searches. Each search combines its non-empty filters\nwith AND. A request may contain at most 20 searches.","items":{"$ref":"#/components/schemas/FunctionSummaryQuerySearch"},"type":"array"},"tenant_meta":{"description":"Tenant metadata that scopes the query.","title":"Tenant metadata that scopes the query.","type":"object"},"uuid":{"description":"Ephemeral query identifier.","readOnly":true,"type":"string"}},"required":["language"],"type":"object"},"GHEAppRegistrationServiceCreateGHEAppRegistrationBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1GHEAppRegistrationResponse"},"spec":{"$ref":"#/components/schemas/v1GHEAppRegistrationSpec"},"tenant_meta":{"description":"The tenant metadata restrict access to a specific tenant.","title":"The tenant metadata restrict access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"GitHubActionDependencySpecGHActionType":{"default":"GH_ACTION_TYPE_UNSPECIFIED","description":"ActionType indicates what type of action is being used.\neg. JS action, Docker action, composite action etc.\n\n - GH_ACTION_TYPE_UNSPECIFIED: Unspecified when it is unlcear what typeof action it is.\n - GH_ACTION_TYPE_GITHUB_REPO: Indicates action's source code is hosted in the GitHub repository.\n - GH_ACTION_TYPE_DOCKER: Indicates action written in Docker and is hosted in the Docker\nregistry.\n - GH_ACTION_TYPE_INTERNAL: Indicates that action is using logic internal to the organization.\nit could be referring to another .yaml file or referring another\ndirectory which contains code for GitHub action.","enum":["GH_ACTION_TYPE_UNSPECIFIED","GH_ACTION_TYPE_GITHUB_REPO","GH_ACTION_TYPE_DOCKER","GH_ACTION_TYPE_INTERNAL"],"type":"string"},"GitHubWorkflowsWorkflow":{"description":"Workflow represents one workflow file.","properties":{"all_secrets_exposed":{"description":"Information about the exposure of 'secrets' object.","items":{"$ref":"#/components/schemas/WorkflowAllSecretsExposed"},"type":"array"},"file_name":{"description":"Name of the workflow file.","type":"string"},"file_path":{"description":"Path of the workflow file.","type":"string"},"jobs":{"description":"All jobs defined in the workflow file.","items":{"$ref":"#/components/schemas/GitHubWorkflowsWorkflowJob"},"type":"array"},"permissions":{"description":"Permissions of the GITHUB_TOKEN defined at the workflow file level.","items":{"$ref":"#/components/schemas/WorkflowGHTokenPermission"},"type":"array"}},"type":"object"},"GitHubWorkflowsWorkflowJob":{"description":"A single job defined in the workflow file.","properties":{"actions":{"description":"List of all actions used in the job.","items":{"type":"string"},"type":"array"},"cloud_resource_accessed_without_oidc":{"description":"Lists all cloud resources accessed without the workflow identity federation.","items":{"$ref":"#/components/schemas/JobCloudResourceAccessedWithoutOIDC"},"type":"array"},"id":{"description":"The Job ID.","type":"string"},"imposter_commit":{"description":"Imposter commit SHA detected for the job.","items":{"$ref":"#/components/schemas/JobImposterCommit"},"type":"array"},"name":{"description":"Name of the job.","type":"string"},"permissions":{"description":"Permissions of the GITHUB_TOKEN defined at the job level.","items":{"$ref":"#/components/schemas/WorkflowGHTokenPermission"},"type":"array"},"script_injection_detected":{"description":"Detected script injection in the job's shell script code.","items":{"$ref":"#/components/schemas/JobScriptInjectionDetected"},"type":"array"},"unpinned_commit_sha_actions":{"description":"Unpinned commit SHA action versions used.","items":{"$ref":"#/components/schemas/JobUnpinnedCommitShaAction"},"type":"array"},"unpinned_runner_version":{"$ref":"#/components/schemas/JobUnpinnedRunner"},"untrusted_code_execution":{"description":"Untrusted code execution identified for the job.","items":{"$ref":"#/components/schemas/JobUntrustedCodeExecution"},"type":"array"},"unverified_gh_actions":{"description":"Unverified GitHub actions used.","items":{"$ref":"#/components/schemas/JobUnverifiedGHAction"},"type":"array"}},"type":"object"},"GroupByTimeGroupByTimeInterval":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"},"GroupResponseGroupData":{"description":"Information about objects matching the given key.","properties":{"aggregation_count":{"$ref":"#/components/schemas/v1CountResponse"},"aggregation_uuids":{"description":"List of UUIDs of the objects in the group.\nOnly populated if show_aggregation_uuids is set.","items":{"type":"string"},"type":"array"},"aggregation_value":{"$ref":"#/components/schemas/v1GroupAggregationValueResponse"},"unique_counts":{"additionalProperties":{"$ref":"#/components/schemas/v1CountResponse"},"description":"Map of counts for the given unique_count_paths fields.\nOnly populated if unique_count_paths is set.","type":"object"},"unique_values":{"additionalProperties":{"items":{"type":"object"},"type":"array"},"description":"Map of values for the given unique_value_paths fields.\nOnly populated if unique_value_paths is set.","type":"object"}},"type":"object"},"HttpParamsProfileAllowedTemplateParam":{"description":"AllowedTemplateParam defines an allowed template parameter name and regex for validating its value.","properties":{"name":{"$ref":"#/components/schemas/v1TemplateParamName"},"regex":{"type":"string"}},"type":"object"},"HttpParamsProfileTemplateParams":{"description":"TemplateParams contains a list of template parameter name-value pairs that can be used\nfor validation when the required template parameters are not found in the vicinity of the secret.\nFor example, for Azure AD client secrets, this could contain the \"ClientID\" and \"TenantID\" values.","properties":{"values":{"items":{"$ref":"#/components/schemas/TemplateParamsTemplateValue"},"title":"List of template parameters name-value pairs.\nExample: [{\"name\": \"TEMPLATE_PARAM_NAME_CLIENT_ID\", \"value\": \"abc123\"}, {\"name\": \"TEMPLATE_PARAM_NAME_TENANT_ID\", \"value\": \"xyz789\"}]","type":"array"}},"type":"object"},"HuggingFaceModelServiceCreateHuggingFaceModelBody":{"description":"HuggingFaceModel represents the JSON object from ingesting from the HuggingFace API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1HuggingFaceModelSpec"},"tenant_meta":{"description":"Models scanned per namespace.","title":"Models scanned per namespace.","type":"object"},"uuid":{"description":"The UUID for the ingested HuggingFace model.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"HuggingFaceOrganizationServiceCreateHuggingFaceOrganizationBody":{"description":"HuggingFaceOrganization represents a HuggingFace organization and its associated metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1HuggingFaceOrganizationSpec"},"tenant_meta":{"description":"Organizations scanned per namespace.","title":"Organizations scanned per namespace.","type":"object"},"uuid":{"description":"The UUID for the HuggingFace organization.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"IPAddressPolicyServiceCreateIPAddressPolicyBody":{"description":"An IPAddressPolicy creates a restriction on which IP address subnets can\naccess a tenant.\nNote that only one IP address policy is allowed per tenant and IP address\npolicies cannot be declared in child namespaces.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.\nIt should be set to true for most use cases.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IPAddressPolicySpec"},"tenant_meta":{"description":"Namespace of the ip address policy.","title":"Namespace of the ip address policy.","type":"object"},"uuid":{"description":"The UUID of the ip address policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"IPAddressPolicyServiceUpdateIPAddressPolicyBody":{"description":"Request to update the IP Address Policy.","properties":{"object":{"description":"An IPAddressPolicy creates a restriction on which IP address subnets can\naccess a tenant.\nNote that only one IP address policy is allowed per tenant and IP address\npolicies cannot be declared in child namespaces.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.\nIt should be set to true for most use cases.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IPAddressPolicySpec"},"tenant_meta":{"description":"Namespace of the ip address policy.","title":"Namespace of the ip address policy.","type":"object"},"uuid":{"description":"The UUID of the ip address policy.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"IdentityProviderOIDCProvider":{"properties":{"claim_names":{"items":{"type":"string"},"type":"array"},"discover_url":{"description":"The well-known URL of the OIDC provider.","type":"string"},"key":{"description":"The key to authenticate with the provider for callbacks.","type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"secret":{"description":"The secret to authenticate with the provider for callbacks.","type":"string"}},"required":["discover_url","key","secret"],"type":"object"},"IdentityProviderServiceCreateIdentityProviderBody":{"description":"Represents an identity provider.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IdentityProviderSpec"},"tenant_meta":{"description":"IdentityProviders are associated with a tenant and namespace.","title":"IdentityProviders are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of an identify provider.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"IdentityProviderServiceUpdateIdentityProviderBody":{"description":"Request to update an identity provider.","properties":{"object":{"description":"Represents an identity provider.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IdentityProviderSpec"},"tenant_meta":{"description":"IdentityProviders are associated with a tenant and namespace.","title":"IdentityProviders are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of an identify provider.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ImportedRuleSetResultImportedRuleSetResultStatus":{"default":"IMPORTED_RULE_SET_RESULT_STATUS_UNSPECIFIED","enum":["IMPORTED_RULE_SET_RESULT_STATUS_UNSPECIFIED","IMPORTED_RULE_SET_RESULT_STATUS_SUCCESS","IMPORTED_RULE_SET_RESULT_STATUS_FAIL"],"type":"string"},"IngestedObjectIngestedObjectStatus":{"default":"INGESTED_OBJECT_STATUS_UNSPECIFIED","description":" - INGESTED_OBJECT_STATUS_LIGHT: Example: Use when a user exists because they are attached to a commit,\nbut are not found on a direct lookup.","enum":["INGESTED_OBJECT_STATUS_UNSPECIFIED","INGESTED_OBJECT_STATUS_FOUND","INGESTED_OBJECT_STATUS_NOT_FOUND","INGESTED_OBJECT_STATUS_LIGHT"],"type":"string"},"IngestionStateServiceCreateIngestionStateBody":{"description":"IngestionState represents the state of data ingestion for cross-cluster communication.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1IngestionStateSpec"},"tenant_meta":{"description":"IngestionState is associated with a tenant and namespace.","title":"IngestionState is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the ingestion state.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"IngestionStateServiceUpdateIngestionStateBody":{"description":"Request to update an ingestion state.","properties":{"object":{"description":"IngestionState represents the state of data ingestion for cross-cluster communication.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1IngestionStateSpec"},"tenant_meta":{"description":"IngestionState is associated with a tenant and namespace.","title":"IngestionState is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the ingestion state.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"InputResponseFormat":{"description":"The response format of the message.","properties":{"description":{"description":"The description of the response format.","type":"string"},"json_schema":{"description":"The JSON schema of the response format.","type":"object"},"name":{"description":"The name of the response format.","type":"string"},"strict":{"description":"Whether the response format is strict.","type":"boolean"}},"type":"object"},"InstallationServiceCreateInstallationBody":{"description":"Installation represents an installation request in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1InstallationSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the installation.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"InstallationServiceUpdateInstallationBody":{"description":"Request to update an installation.","properties":{"object":{"description":"Installation represents an installation request in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1InstallationSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the installation.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta"],"type":"object"},"InventoryAdminClassificationAdminLevel":{"default":"ADMIN_LEVEL_UNSPECIFIED","description":"AdminLevel is the admin classification level on the allow/block axis.\n\n - ADMIN_LEVEL_UNSPECIFIED: No admin classification has been assigned.\n - ADMIN_LEVEL_ALLOWED: Explicitly allowed by an AgentHookPolicy match.\n - ADMIN_LEVEL_BLOCKED: Explicitly blocked by an AgentHookPolicy match.","enum":["ADMIN_LEVEL_UNSPECIFIED","ADMIN_LEVEL_ALLOWED","ADMIN_LEVEL_BLOCKED"],"type":"string"},"InventoryThreatClassificationThreatLevel":{"default":"THREAT_LEVEL_UNSPECIFIED","description":"ThreatLevel is the threat classification level on the suspicious/malicious axis.\n\n - THREAT_LEVEL_UNSPECIFIED: No threat classification has been assigned.\n - THREAT_LEVEL_SUSPICIOUS: Flagged as suspicious by an AgentHookPolicy match.\n - THREAT_LEVEL_MALICIOUS: Flagged as malicious by an AgentHookPolicy match.","enum":["THREAT_LEVEL_UNSPECIFIED","THREAT_LEVEL_SUSPICIOUS","THREAT_LEVEL_MALICIOUS"],"type":"string"},"InvitationServiceCreateInvitationBody":{"description":"Invitation represents an invitation for a new user in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1InvitationSpec"},"tenant_meta":{"description":"Invitations can be issued per namespace.","title":"Invitations can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the invitation.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"InvitationServiceUpdateInvitationBody":{"description":"Request to update an invitation.","properties":{"object":{"description":"Invitation represents an invitation for a new user in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1InvitationSpec"},"tenant_meta":{"description":"Invitations can be issued per namespace.","title":"Invitations can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the invitation.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"JIRAConfigCustomField":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"JIRAConfigJiraIssueType":{"default":"JIRA_ISSUE_TYPE_UNSPECIFIED","description":"Deprecated: This enum will not be used. A string field will be used instead.\n\n - JIRA_ISSUE_TYPE_TASK: Indicates a Jira task.\n - JIRA_ISSUE_TYPE_BUG: Indicates a Jira Bug.","enum":["JIRA_ISSUE_TYPE_UNSPECIFIED","JIRA_ISSUE_TYPE_TASK","JIRA_ISSUE_TYPE_BUG"],"type":"string"},"JVMClassMetadataServiceCreateJVMClassMetadataBody":{"description":"JVMClassMetadata contains metadata such as file sha, name, gav of oss library for a jvm class file.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JVMClassMetadataSpec"},"tenant_meta":{"description":"JVMClassMetadata are associated with a tenant.","title":"JVMClassMetadata are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the jvm class metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"JVMClassMetadataServiceUpdateJVMClassMetadataBody":{"description":"The request to update jvm class metadata.","properties":{"object":{"description":"JVMClassMetadata contains metadata such as file sha, name, gav of oss library for a jvm class file.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JVMClassMetadataSpec"},"tenant_meta":{"description":"JVMClassMetadata are associated with a tenant.","title":"JVMClassMetadata are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the jvm class metadata.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"JobCloudName":{"default":"CLOUD_NAME_UNSPECIFIED","enum":["CLOUD_NAME_UNSPECIFIED","CLOUD_NAME_AWS","CLOUD_NAME_AZURE","CLOUD_NAME_GCP","CLOUD_NAME_HASHICORP"],"type":"string"},"JobCloudResourceAccessedWithoutOIDC":{"properties":{"action_name":{"description":"Name of the action used to access cloud resources.","type":"string"},"cloud_name":{"$ref":"#/components/schemas/JobCloudName"},"evidence_message":{"description":"Contains evidence message for the non-OIDC cloud resource violation.","type":"string"},"input_parameters":{"description":"List of input parameters used to access the cloud resource.","items":{"type":"string"},"type":"array"},"invoking_script":{"description":"Script content if the cloud resource is accessed using a script.","type":"string"},"location_uri":{"description":"Workflow file path with line number for non-OIDC cloud resource access.","type":"string"},"step_name":{"description":"Step name for the non-OIDC cloud resource access.","type":"string"}},"type":"object"},"JobImposterCommit":{"properties":{"action":{"description":"Full action reference (e.g. \"actions/checkout@abc123...\").","type":"string"},"action_repo_clone_url":{"description":"Constructed clone URL used for the lookup.","type":"string"},"action_sha":{"description":"The pinned commit SHA.","type":"string"},"location_uri":{"description":"Workflow file path with line number for the imposter action step.","type":"string"},"step_name":{"description":"Step name where the imposter action is used.","type":"string"}},"type":"object"},"JobScriptInjectionDetected":{"properties":{"gh_context_variables":{"items":{"type":"string"},"title":"List of GitHub context variable for which the injection was detected.\nhttps://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#understanding-the-risk-of-script-injections","type":"array"},"location_uris":{"description":"Full path of each injection variable detected with line number.","items":{"type":"string"},"type":"array"},"script_content":{"description":"Shell script content where the injection was detected.","type":"string"},"step_name":{"description":"Step name where script injection was detected.","type":"string"}},"type":"object"},"JobServiceCreateJobBody":{"description":"The Job represents a background task that is executed by the Job Service.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JobSpec"},"tenant_meta":{"description":"Jobs are associated with a tenant.","title":"Jobs are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a Job.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"JobServiceUpdateJobBody":{"description":"Request to update the job.","properties":{"object":{"description":"The Job represents a background task that is executed by the Job Service.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JobSpec"},"tenant_meta":{"description":"Jobs are associated with a tenant.","title":"Jobs are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a Job.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"JobSpecJobResponse":{"description":"Response data returned by the job.","properties":{"error":{"$ref":"#/components/schemas/googleprotobufAny"},"payload":{"$ref":"#/components/schemas/googleprotobufAny"}},"type":"object"},"JobUnpinnedCommitShaAction":{"properties":{"line_number":{"description":"Line number of the workflow file containing the action.","format":"int32","type":"integer"},"name":{"description":"Name of the action.","type":"string"},"version":{"description":"Version of the action used.","type":"string"}},"type":"object"},"JobUnpinnedRunner":{"properties":{"line_number":{"description":"Line number of the workflow file containing the runner version.","format":"int32","type":"integer"},"name":{"description":"Name of the targeted runner type.","type":"string"},"version":{"description":"Version of the runner used.","type":"string"}},"type":"object"},"JobUntrustedCodeExecution":{"properties":{"build_cmd":{"description":"Build cmd used to execute the untrusted code.","items":{"type":"string"},"type":"array"},"build_cmd_script_content":{"description":"Shell script content where the untrusted code is being executed.","type":"string"},"build_cmd_step":{"description":"Step name where the untrusted code is being executed.","type":"string"},"checkout_cmd":{"description":"Checkout command used to checkout the code.","type":"string"},"checkout_script_content":{"description":"Shell script content where the untrusted code is being checked out.","type":"string"},"checkout_step":{"description":"Step name where the untrusted code is being checked out.","type":"string"},"location_uri":{"description":"Workflow file path with the line number for untrusted code execution script.","type":"string"}},"type":"object"},"JobUnverifiedGHAction":{"properties":{"line_number":{"description":"Line number of the workflow file containing the action.","format":"int32","type":"integer"},"name":{"description":"Name of the action.","type":"string"}},"type":"object"},"LLMContextStructuredContent":{"properties":{"data":{"description":"The actual content data.","type":"string"},"schema":{"description":"The schema defining the structure and validation rules for the content.","type":"object"}},"type":"object"},"LicenseDependencyServiceCreateLicenseDependencyBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseDependencySpec"},"tenant_meta":{"description":"The tenant metadata of the license dependency.","title":"The tenant metadata of the license dependency.","type":"object"},"uuid":{"description":"The UUID of the license dependency.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"LicenseDependencyServiceUpdateLicenseDependencyBody":{"description":"Request to update a license dependency.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseDependencySpec"},"tenant_meta":{"description":"The tenant metadata of the license dependency.","title":"The tenant metadata of the license dependency.","type":"object"},"uuid":{"description":"The UUID of the license dependency.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"LicenseNoticesReportServiceCreateLicenseNoticesReportBody":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseNoticesReportSpec"},"tenant_meta":{"description":"Tenant metadata.","title":"Tenant metadata.","type":"object"},"uuid":{"description":"The UUID of the license notices report.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"LicenseNoticesReportSpecGrouping":{"default":"GROUPING_UNSPECIFIED","description":"The grouping of the license notices report.\n\n - GROUPING_UNSPECIFIED: Grouping is unspecified.\n - GROUPING_LICENSE: Grouping is by license.\n - GROUPING_DEPENDENCY: Grouping is by dependency.","enum":["GROUPING_UNSPECIFIED","GROUPING_LICENSE","GROUPING_DEPENDENCY"],"type":"string"},"LicenseNoticesReportSpecReportType":{"default":"REPORT_TYPE_UNSPECIFIED","description":"The report type of the license notices report.\n\n - REPORT_TYPE_UNSPECIFIED: Report type is undefined.\n - REPORT_TYPE_PDF: Report type is PDF.\n - REPORT_TYPE_HTML: Report type is HTML.\n - REPORT_TYPE_TXT: Report type is plain text.","enum":["REPORT_TYPE_UNSPECIFIED","REPORT_TYPE_PDF","REPORT_TYPE_HTML","REPORT_TYPE_TXT"],"type":"string"},"LicenseServiceCreateLicenseBody":{"description":"Represents a license in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1LicenseSpec"},"tenant_meta":{"description":"Licenses live in the system namespace.","title":"Licenses live in the system namespace.","type":"object"},"uuid":{"description":"The UUID of a license.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"LicenseServiceUpdateLicenseBody":{"description":"Request to update a license.","properties":{"object":{"description":"Represents a license in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1LicenseSpec"},"tenant_meta":{"description":"Licenses live in the system namespace.","title":"Licenses live in the system namespace.","type":"object"},"uuid":{"description":"The UUID of a license.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"LicenseSummaryServiceCreateLicenseSummaryBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseSummarySpec"},"tenant_meta":{"description":"The tenant metadata of the license summary.","title":"The tenant metadata of the license summary.","type":"object"},"uuid":{"description":"The UUID of the license summary.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"LicenseSummaryServiceUpdateLicenseSummaryBody":{"description":"Request to update a license summary.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseSummarySpec"},"tenant_meta":{"description":"The tenant metadata of the license summary.","title":"The tenant metadata of the license summary.","type":"object"},"uuid":{"description":"The UUID of the license summary.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"LinterCorrectnessAnalysisCodeFix":{"description":"CodeFix represents a potential fix to a determined true positive linter result.","properties":{"file_path":{"description":"The file path of the code fix.","type":"string"},"line_end":{"description":"The end line number of the code fix.","format":"int32","type":"integer"},"line_start":{"description":"The start line number of the code fix.","format":"int32","type":"integer"},"patch":{"description":"The code fix to be applied.","type":"string"}},"required":["patch","file_path","line_start","line_end"],"type":"object"},"LinterCorrectnessAnalysisDataFlowNode":{"description":"DataFlowNode represents a node in the data flow trace from source to sink.","properties":{"code_line_num":{"description":"Line number in the source file.","format":"int32","type":"integer"},"code_snippet":{"description":"Variable or expression at this point in the flow.","type":"string"},"type":{"description":"Type of node in the data flow (source, step, or sink).","type":"string"}},"type":"object"},"LinterResultServiceCreateLinterResultBody":{"description":"The meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LinterResultSpec"},"tenant_meta":{"description":"Linter results are associated with a tenant and namespace.","title":"Linter results are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of a linter result.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"LinterResultServiceUpdateLinterResultBody":{"description":"Request to update a linter result.","properties":{"object":{"description":"The meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LinterResultSpec"},"tenant_meta":{"description":"Linter results are associated with a tenant and namespace.","title":"Linter results are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of a linter result.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"ListParametersGroup":{"description":"Contains the group parameters.","properties":{"aggregation_paths":{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","type":"string"},"show_aggregation_uuids":{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","type":"boolean"},"unique_count_paths":{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","type":"string"},"unique_value_paths":{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","type":"string"}},"type":"object"},"ListParametersGroupByTime":{"description":"Contains the group_by_time parameters.","properties":{"aggregation_operator":{"title":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","type":"string"},"aggregation_paths":{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","type":"string"},"aggregation_value_field":{"title":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","type":"string"},"end_time":{"description":"End of the time period to group objects.\nDefaults to the current time.","format":"date-time","type":"string"},"group_size":{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","format":"int32","type":"integer"},"interval":{"$ref":"#/components/schemas/GroupByTimeGroupByTimeInterval"},"mode":{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","type":"string"},"show_aggregation_uuids":{"description":"Return the UUIDs of the objects in each group.","type":"boolean"},"start_time":{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","format":"date-time","type":"string"}},"type":"object"},"ListParametersSortEntry":{"description":"Contains the sort parameters.","properties":{"order":{"$ref":"#/components/schemas/SortEntrySortEntryOrder"},"path":{"description":"Field to sort objects by, for example, meta.name.","type":"string"}},"type":"object"},"MCPServerLogServiceCreateMCPServerLogBody":{"description":"Represents the information captured from an MCPServerLog of endorctl.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MCPServerLogSpec"},"tenant_meta":{"description":"MCPServerLogs are associated with a tenant or are global.","title":"MCPServerLogs are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an MCPServerLog.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"MalwareDetectionAnalysisTaskServiceCreateMalwareDetectionAnalysisTaskBody":{"description":"MalwareDetectionAnalysisTask represents a pending or completed analysis task.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTaskSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the analysis task record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionAnalysisTaskServiceUpdateMalwareDetectionAnalysisTaskBody":{"description":"Request to update a malware detection analysis task.","properties":{"object":{"description":"MalwareDetectionAnalysisTask represents a pending or completed analysis task.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTaskSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the analysis task record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionArtifactDownloadStatusServiceCreateMalwareDetectionArtifactDownloadStatusBody":{"description":"MalwareDetectionArtifactDownloadStatus tracks the download status of package artifacts.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatusSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the artifact download status record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionArtifactDownloadStatusServiceUpdateMalwareDetectionArtifactDownloadStatusBody":{"description":"Request to update a malware detection artifact download status.","properties":{"object":{"description":"MalwareDetectionArtifactDownloadStatus tracks the download status of package artifacts.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatusSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the artifact download status record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionAssessmentPromotionServiceCreateMalwareDetectionAssessmentPromotionBody":{"description":"MalwareDetectionAssessmentPromotion publishes a human-reviewed malware detection assessment\ninto the malware feed. Nothing is stored under this kind: the server performs the promotion\nand returns the resulting record in spec.response.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentPromotionSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"MalwareDetectionAssessmentServiceCreateMalwareDetectionAssessmentBody":{"description":"MalwareDetectionAssessment represents a malware assessment record.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the assessment record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionAssessmentServiceUpdateMalwareDetectionAssessmentBody":{"description":"Request to update a malware detection assessment.","properties":{"object":{"description":"MalwareDetectionAssessment represents a malware assessment record.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the assessment record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionIoCServiceCreateMalwareDetectionIoCBody":{"description":"MalwareDetectionIoC represents an Indicator of Compromise.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionIoCSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the IoC record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionIoCServiceUpdateMalwareDetectionIoCBody":{"description":"Request to update a malware detection IoC.","properties":{"object":{"description":"MalwareDetectionIoC represents an Indicator of Compromise.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionIoCSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the IoC record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionPackageIoCIOCData":{"description":"Information about the IoC side of the link.","properties":{"ioc_uuid":{"description":"The UUID of the MalwareDetectionIoC.","type":"string"},"type":{"$ref":"#/components/schemas/v1IOCType"},"value":{"description":"Value of the IoC.","type":"string"}},"required":["ioc_uuid","type","value"],"type":"object"},"MalwareDetectionPackageIoCMalwarePackageData":{"description":"Information about the package side of the link. The three fields together are the\nunique key of a MalwareDetectionPackage, so they name one without holding its UUID.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"package_name":{"description":"Name of package.","type":"string"},"version":{"description":"Version of the package.","type":"string"}},"required":["ecosystem","package_name","version"],"type":"object"},"MalwareDetectionPackageIoCServiceCreateMalwareDetectionPackageIoCBody":{"description":"MalwareDetectionPackageIoC represents a relationship between a package and an IoC.\n\nEach side of the link gets its own message, carrying the identity of the object on\nthat side. Both sides can therefore be counted or grouped by the names a caller\nalready holds, with no lookup first. Those identities cannot drift: each one is the\nunique key of the object it came from, so changing it would name a different object\nand make a different link.\n\nOne object is one link. A unique index over both identities keeps it that way, so a\ncount of links is a count of distinct packages, or of distinct IoCs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoCSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the package-IoC relationship record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionPackageIoCServiceUpdateMalwareDetectionPackageIoCBody":{"description":"Request to update a malware detection package-IoC relationship.","properties":{"object":{"description":"MalwareDetectionPackageIoC represents a relationship between a package and an IoC.\n\nEach side of the link gets its own message, carrying the identity of the object on\nthat side. Both sides can therefore be counted or grouped by the names a caller\nalready holds, with no lookup first. Those identities cannot drift: each one is the\nunique key of the object it came from, so changing it would name a different object\nand make a different link.\n\nOne object is one link. A unique index over both identities keeps it that way, so a\ncount of links is a count of distinct packages, or of distinct IoCs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoCSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the package-IoC relationship record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionPackageServiceCreateMalwareDetectionPackageBody":{"description":"MalwareDetectionPackage represents a package in the malware detection system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the package record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionPackageServiceUpdateMalwareDetectionPackageBody":{"description":"Request to update a malware detection package.","properties":{"object":{"description":"MalwareDetectionPackage represents a package in the malware detection system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the package record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionWorkflowServiceCreateMalwareDetectionWorkflowBody":{"description":"MalwareDetectionWorkflow stores a named scan workflow configuration used by the malware detection pipeline.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflowSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the workflow record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareDetectionWorkflowServiceUpdateMalwareDetectionWorkflowBody":{"description":"Request to update a malware detection workflow.","properties":{"object":{"description":"The workflow to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflowSpec"},"tenant_meta":{"description":"Tenant metadata for namespace.","title":"Tenant metadata for namespace.","type":"object"},"uuid":{"description":"The UUID of the workflow record.","readOnly":true,"type":"string"}},"title":"The workflow to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareExposureQueryServiceCreateMalwareExposureQueryBody":{"description":"Request to get the exposure of one or more Malware objects on a given namespace.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareExposureQuerySpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"UUID of the MalwareExposureQuery object.","readOnly":true,"type":"string"}},"type":"object"},"MalwareExposureServiceCreateMalwareExposureBody":{"description":"Namespace exposure for a given Malware package.\nThe presence of this object indicates that at least one project in the\nNamespace is, or was, potentially affected by the referenced Malware.\nIf all affected projects are in child namespaces, then there are no\nMalwareExposure objects in the parent namespace. Use traverse to\ninclude MalwareExposure objects from child namespaces.\nThe meta.name field contains the fully qualified package name of the\nMalware package. For example, \"npm://package-name\".","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareExposureSpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"UUID of the MalwareExposure object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareExposureServiceUpdateMalwareExposureBody":{"description":"Request to update a MalwareExposure object.","properties":{"object":{"description":"MalwareExposure object to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareExposureSpec"},"tenant_meta":{"description":"Tenant data.","title":"Tenant data.","type":"object"},"uuid":{"description":"UUID of the MalwareExposure object.","readOnly":true,"type":"string"}},"title":"MalwareExposure object to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MalwareRangeMalwareRangeType":{"default":"MALWARE_RANGE_TYPE_UNSPECIFIED","description":"Type of the version information.","enum":["MALWARE_RANGE_TYPE_UNSPECIFIED","MALWARE_RANGE_TYPE_GIT","MALWARE_RANGE_TYPE_SEMVER","MALWARE_RANGE_TYPE_ECOSYSTEM"],"type":"string"},"MalwareServiceCreateMalwareBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"The UUID of a malware record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"MalwareServiceUpdateMalwareBody":{"description":"Request to update a malware record.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"The UUID of a malware record.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"MessageRole":{"default":"ROLE_UNSPECIFIED","enum":["ROLE_UNSPECIFIED","ROLE_SYSTEM","ROLE_USER","ROLE_ASSISTANT","ROLE_TOOLS"],"type":"string"},"MessageTypeConfigMessageExportFormat":{"default":"MESSAGE_EXPORT_FORMAT_UNSPECIFIED","description":" - MESSAGE_EXPORT_FORMAT_JSON: MESSAGE_EXPORT_FORMAT_JSON indicates a JSON message format.\n - MESSAGE_EXPORT_FORMAT_SARIF: MESSAGE_EXPORT_FORMAT_SARIF indicates a SARIF message format.","enum":["MESSAGE_EXPORT_FORMAT_UNSPECIFIED","MESSAGE_EXPORT_FORMAT_JSON","MESSAGE_EXPORT_FORMAT_SARIF"],"type":"string"},"MessageTypeConfigMessageType":{"default":"MESSAGE_TYPE_UNSPECIFIED","description":" - MESSAGE_TYPE_FINDING: MESSAGE_TYPE_FINDING indicates a finding message.\n - MESSAGE_TYPE_PACKAGE_VERSION: MESSAGE_TYPE_PACKAGE_VERSION indicates a package version message.\n - MESSAGE_TYPE_PROJECT: MESSAGE_TYPE_PROJECT indicates a project message.\n - MESSAGE_TYPE_SCAN_RESULT: MESSAGE_TYPE_SCAN_RESULT indicates a scan result message.\n - MESSAGE_TYPE_ADMISSION_POLICY_FINDING: MESSAGE_TYPE_ADMISSION_POLICY_FINDING indicates an admission policy finding message (blocked or warning).","enum":["MESSAGE_TYPE_UNSPECIFIED","MESSAGE_TYPE_FINDING","MESSAGE_TYPE_PACKAGE_VERSION","MESSAGE_TYPE_PROJECT","MESSAGE_TYPE_SCAN_RESULT","MESSAGE_TYPE_ADMISSION_POLICY_FINDING"],"type":"string"},"MetricServiceCreateMetricBody":{"description":"This contains the definition all metrics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MetricSpec"},"tenant_meta":{"description":"Metrics are associated with a tenant and tenant information must be provided.","title":"Metrics are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the the metric resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"MetricServiceUpdateMetricBody":{"description":"Request to update a metric.","properties":{"object":{"description":"This contains the definition all metrics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MetricSpec"},"tenant_meta":{"description":"Metrics are associated with a tenant and tenant information must be provided.","title":"Metrics are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the the metric resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"NVDVulnerabilityCvssMetricV2":{"description":"Based on schema definition provided by NVD here. https://csrc.nist.gov/schema/nvd/api/2.0/external/cvss-v2.0.json.","properties":{"ac_insuf_info":{"type":"boolean"},"base_severity":{"type":"string"},"cvss_data":{"$ref":"#/components/schemas/v1CvssDataV2"},"exploitability_score":{"format":"float","type":"number"},"impact_score":{"format":"float","type":"number"},"obtain_all_privilege":{"type":"boolean"},"obtain_other_privilege":{"type":"boolean"},"obtain_user_privilege":{"type":"boolean"},"source":{"type":"string"},"type":{"$ref":"#/components/schemas/v1NVDMetricType"},"user_interaction_required":{"type":"boolean"}},"required":["source","type","cvss_data"],"type":"object"},"NVDVulnerabilityCvssMetricV30":{"description":"Based on schema definition provided by NVD here. https://csrc.nist.gov/schema/nvd/api/3.0/external/cvss-v2.0.json.","properties":{"cvss_data":{"$ref":"#/components/schemas/v1CvssDataV30"},"exploitability_score":{"format":"float","type":"number"},"impact_score":{"format":"float","type":"number"},"source":{"type":"string"},"type":{"$ref":"#/components/schemas/v1NVDMetricType"}},"required":["source","type","cvss_data"],"type":"object"},"NVDVulnerabilityCvssMetricV31":{"description":"Based on schema definition provided by NVD here. https://csrc.nist.gov/schema/nvd/api/2.0/external/cvss-v3.1.json.","properties":{"cvss_data":{"$ref":"#/components/schemas/v1CvssDataV31"},"exploitability_score":{"format":"float","type":"number"},"impact_score":{"format":"float","type":"number"},"source":{"type":"string"},"type":{"$ref":"#/components/schemas/v1NVDMetricType"}},"required":["source","type","cvss_data"],"type":"object"},"NVDVulnerabilityCvssMetricV40":{"description":"CvssMetricV40. Based on schema definition provided by FIRST.ORG for CVSS v4.0.\nschema in https://csrc.nist.gov/schema/nvd/api/2.0/external/cvss-v4.0.json.","properties":{"cvss_data":{"$ref":"#/components/schemas/v1CvssDataV40"},"exploitability_score":{"format":"float","type":"number"},"impact_score":{"format":"float","type":"number"},"source":{"type":"string"},"type":{"$ref":"#/components/schemas/v1NVDMetricType"}},"required":["source","type","cvss_data"],"type":"object"},"NVDVulnerabilityRootCve":{"properties":{"cisa_action_due":{"type":"string"},"cisa_exploit_add":{"type":"string"},"cisa_required_action":{"type":"string"},"cisa_vulnerability_name":{"type":"string"},"configurations":{"items":{"$ref":"#/components/schemas/RootCveConfig"},"type":"array"},"descriptions":{"items":{"$ref":"#/components/schemas/RootCveLangString"},"type":"array"},"evaluator_comment":{"type":"string"},"evaluator_impact":{"type":"string"},"evaluator_solution":{"type":"string"},"id":{"type":"string"},"last_modified":{"format":"date-time","type":"string"},"metrics":{"$ref":"#/components/schemas/RootCveCVSSMetric"},"published":{"format":"date-time","type":"string"},"references":{"items":{"$ref":"#/components/schemas/NVDVulnerabilityRootCveReference"},"type":"array"},"source_identifier":{"type":"string"},"vendor_comments":{"items":{"$ref":"#/components/schemas/RootCveVendorComment"},"type":"array"},"vuln_status":{"type":"string"},"vuln_typed_status":{"$ref":"#/components/schemas/v1NVDStatus"},"weaknesses":{"items":{"$ref":"#/components/schemas/RootCveWeakness"},"type":"array"}},"required":["id","published","last_modified","descriptions","references"],"type":"object"},"NVDVulnerabilityRootCveReference":{"properties":{"source":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"url":{"type":"string"}},"required":["url"],"type":"object"},"NamespaceServiceCreateNamespaceBody":{"description":"Namespace provides a mechanism for isolating groups of resources.\nNamespaces may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NamespaceSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a namespace.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"NamespaceServiceUpdateNamespaceBody":{"description":"Request to update a namespace.","properties":{"object":{"description":"Namespace provides a mechanism for isolating groups of resources.\nNamespaces may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NamespaceSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"NodeFunctionRef":{"properties":{"args":{"items":{"type":"string"},"type":"array"},"classname":{"type":"string"},"declared_type":{"type":"string"},"function_or_attribute_name":{"type":"string"},"language":{"type":"string"},"language_specific":{"type":"string"},"namespace":{"type":"string"},"product":{"type":"string"},"registry":{"type":"string"},"return_type":{"type":"string"},"signature":{"type":"string"},"version":{"type":"string"}},"type":"object"},"NotificationActionAggregationType":{"default":"AGGREGATION_TYPE_UNSPECIFIED","description":" - AGGREGATION_TYPE_PROJECT: AGGREGATION_TYPE_PROJECT aggregates notifications by project.\n - AGGREGATION_TYPE_DEPENDENCY: AGGREGATION_TYPE_DEPENDENCY aggregates notifications by dependency,\nroot package version, and project.\n - AGGREGATION_TYPE_DEPENDENCY_ACROSS_PKG_VERSIONS: AGGREGATION_TYPE_DEPENDENCY_ACROSS_PKG_VERSIONS aggregates\nnotifications by dependency and project, regardless of the package\nversion.\n - AGGREGATION_TYPE_NONE: AGGREGATION_TYPE_NONE does not aggregate notifications\n - AGGREGATION_TYPE_MANUAL: AGGREGATION_TYPE_MANUAL identifies notifications created directly from findings via the UI.\nEach finding results in a separate notification.","enum":["AGGREGATION_TYPE_UNSPECIFIED","AGGREGATION_TYPE_PROJECT","AGGREGATION_TYPE_DEPENDENCY","AGGREGATION_TYPE_DEPENDENCY_ACROSS_PKG_VERSIONS","AGGREGATION_TYPE_NONE","AGGREGATION_TYPE_MANUAL"],"type":"string"},"NotificationActionServiceCreateNotificationActionBody":{"description":"Implements the notification action.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1NotificationActionResponse"},"spec":{"$ref":"#/components/schemas/v1NotificationActionSpec"},"tenant_meta":{"description":"The tenant metadata restrict access to a specific tenant.","title":"The tenant metadata restrict access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"NotificationDismissNotificationDismissCategory":{"default":"NOTIFICATION_DISMISS_CATEGORY_UNSPECIFIED","description":" - NOTIFICATION_DISMISS_CATEGORY_FALSE_POSITIVE: The notification is a false alarm.\n - NOTIFICATION_DISMISS_CATEGORY_MITIGATED: The notification has been taken care of.\n - NOTIFICATION_DISMISS_CATEGORY_LOW_PRIORITY: The notification is of low priority and doesn't need immediate attention.","enum":["NOTIFICATION_DISMISS_CATEGORY_UNSPECIFIED","NOTIFICATION_DISMISS_CATEGORY_FALSE_POSITIVE","NOTIFICATION_DISMISS_CATEGORY_MITIGATED","NOTIFICATION_DISMISS_CATEGORY_LOW_PRIORITY"],"type":"string"},"NotificationServiceCreateNotificationBody":{"description":"The record created when there is a policy violation.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NotificationSpec"},"tenant_meta":{"description":"Notifications are associated with a tenant.","title":"Notifications are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a notification.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"NotificationServiceUpdateNotificationBody":{"description":"Request to update the notification.","properties":{"object":{"description":"The record created when there is a policy violation.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NotificationSpec"},"tenant_meta":{"description":"Notifications are associated with a tenant.","title":"Notifications are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a notification.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"NotificationTargetActionActionType":{"default":"ACTION_TYPE_UNSPECIFIED","description":" - ACTION_TYPE_WEBHOOK: ACTION_TYPE_WEBHOOK indicates a webhook call action.\n - ACTION_TYPE_JIRA: ACTION_TYPE_JIRA indicates a JIRA action.\n - ACTION_TYPE_EMAIL: ACTION_TYPE_EMAIL indicates an email action.\n - ACTION_TYPE_VANTA: ACTION_TYPE_VANTA indicates configuration of a Vanta plugin.\n - ACTION_TYPE_SLACK: ACTION_TYPE_SLACK indicates a Slack integration.\n - ACTION_TYPE_GITHUB_PR: ACTION_TYPE_GITHUB_PR indicates a GitHub PR action.\nDeprecated: Use ACTION_TYPE_REMEDIATION_PR, which supports all SCM platforms.\n - ACTION_TYPE_ADO_BOARDS: ACTION_TYPE_ADO_BOARDS indicates an ADO board action.\n - ACTION_TYPE_REMEDIATION_PR: ACTION_TYPE_REMEDIATION_PR indicates an automated remediation pull request action.\nThe pull request is opened on the SCM platform of the violating project,\nfor example a GitHub pull request or a GitLab merge request.","enum":["ACTION_TYPE_UNSPECIFIED","ACTION_TYPE_WEBHOOK","ACTION_TYPE_JIRA","ACTION_TYPE_EMAIL","ACTION_TYPE_VANTA","ACTION_TYPE_SLACK","ACTION_TYPE_GITHUB_PR","ACTION_TYPE_ADO_BOARDS","ACTION_TYPE_REMEDIATION_PR"],"type":"string"},"NotificationTargetNotificationTargetAction":{"properties":{"action_type":{"$ref":"#/components/schemas/NotificationTargetActionActionType"},"ado_boards_config":{"$ref":"#/components/schemas/v1ADOBoardsConfig"},"email_config":{"$ref":"#/components/schemas/v1EMailConfig"},"exclude_endor_url":{"description":"Excludes the URL to access the Endor Labs app which provides the notification details.","type":"boolean"},"github_pr_config":{"$ref":"#/components/schemas/v1GitHubPRConfig"},"jira_config":{"$ref":"#/components/schemas/v1JIRAConfig"},"public":{"description":"Indicates if the action endpoint is public.\nIf the endpoint not public, then endorctl attempts to create the action as if the endpoint is running on-prem.","type":"boolean"},"remediation_pr_config":{"$ref":"#/components/schemas/v1RemediationPRConfig"},"slack_config":{"$ref":"#/components/schemas/v1SlackConfig"},"vanta_config":{"$ref":"#/components/schemas/v1VantaConfig"},"webhook_config":{"$ref":"#/components/schemas/v1WebhookConfig"}},"required":["action_type"],"type":"object"},"NotificationTargetServiceCreateNotificationTargetBody":{"description":"Indicates actions taken when a corresponding notification is raised.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1NotificationTargetSpec"},"tenant_meta":{"description":"Notification Targets are associated with a tenant.","title":"Notification Targets are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the notification target.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"NotificationTargetServiceUpdateNotificationTargetBody":{"description":"Request to update the notification target.","properties":{"object":{"description":"Indicates actions taken when a corresponding notification is raised.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1NotificationTargetSpec"},"tenant_meta":{"description":"Notification Targets are associated with a tenant.","title":"Notification Targets are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the notification target.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"OSSDependencyRequestServiceCreateOSSDependencyRequestBody":{"description":"Represents a request to create OSS dependencies in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OSSDependencyRequestSpec"},"tenant_meta":{"description":"SBOM are associated with a tenant and the tenant information must be provided.","title":"SBOM are associated with a tenant and the tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the SBOM.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"OnPremSchedulerServiceCreateOnPremSchedulerBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OnPremSchedulerSpec"},"tenant_meta":{"description":"Contains the namespace.","title":"Contains the namespace.","type":"object"},"uuid":{"description":"The UUID of the onprem scheduler.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"OnPremSchedulerServiceUpdateOnPremSchedulerBody":{"description":"Request to update an onprem scheduler.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OnPremSchedulerSpec"},"tenant_meta":{"description":"Contains the namespace.","title":"Contains the namespace.","type":"object"},"uuid":{"description":"The UUID of the onprem scheduler.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"OptimizedQueryOptimizedQuerySpec":{"properties":{"inconsistent_order":{"description":"If consistent order of the returned values is not required,\nthen the results can be returned faster. This is set to false by default.","type":"boolean"},"kind":{"description":"The kind of object requested.","type":"string"},"list_parameters":{"$ref":"#/components/schemas/v1ListParameters"},"number_range":{"$ref":"#/components/schemas/OptimizedQueryOptimizedQuerySpecRange"},"use_range":{"description":"If true, the sort will use the range to query for int and float fields.","type":"boolean"}},"required":["kind"],"type":"object"},"OptimizedQueryOptimizedQuerySpecRange":{"properties":{"end_range":{"description":"The end of the range to query.","format":"double","type":"number"},"increment":{"description":"Increment of the range to query.","format":"double","type":"number"},"start_range":{"description":"The start of the range to query.","format":"double","type":"number"}},"type":"object"},"OptimizedQueryServiceCreateOptimizedQueryBody":{"description":"OptimizedQuery attempts to break queries into smaller queries\nbased on child namespaces so as to not hit mongodb limits.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OptimizedQuerySpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"OrganizationAllowedWorkflowsServiceCreateOrganizationAllowedWorkflowsBody":{"description":"Represents the information of allowed workflows of an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflowsSpec"},"tenant_meta":{"description":"OrganizationAllowedWorkflows are associated to a tenant.","title":"OrganizationAllowedWorkflows are associated to a tenant.","type":"object"},"uuid":{"description":"The UUID of an organization allowed workflows object.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationAllowedWorkflowsServiceUpdateOrganizationAllowedWorkflowsBody":{"description":"Request to update organization allowed workflows object.","properties":{"object":{"description":"Represents the information of allowed workflows of an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflowsSpec"},"tenant_meta":{"description":"OrganizationAllowedWorkflows are associated to a tenant.","title":"OrganizationAllowedWorkflows are associated to a tenant.","type":"object"},"uuid":{"description":"The UUID of an organization allowed workflows object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationBlockListServiceCreateOrganizationBlockListBody":{"description":"Represents the information about the blocked user list of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationBlockListSpec"},"tenant_meta":{"description":"Organization's block list is associated to a tenant.","title":"Organization's block list is associated to a tenant.","type":"object"},"uuid":{"description":"The UUID of an organization's block list.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationBlockListServiceUpdateOrganizationBlockListBody":{"description":"Request to update the block list of an organization.","properties":{"object":{"description":"Represents the information about the blocked user list of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationBlockListSpec"},"tenant_meta":{"description":"Organization's block list is associated to a tenant.","title":"Organization's block list is associated to a tenant.","type":"object"},"uuid":{"description":"The UUID of an organization's block list.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCICDPermissionsServiceCreateOrganizationCICDPermissionsBody":{"description":"Capture the permissions policy configuration for repositories.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCICDPermissionsSpec"},"tenant_meta":{"description":"OrganizationCICDPermissions is associated with a tenant.","title":"OrganizationCICDPermissions is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the CI/CD permissions object in a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCICDPermissionsServiceUpdateOrganizationCICDPermissionsBody":{"description":"Request to update the CI/CD permissions object of a platform organization.","properties":{"object":{"description":"Capture the permissions policy configuration for repositories.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCICDPermissionsSpec"},"tenant_meta":{"description":"OrganizationCICDPermissions is associated with a tenant.","title":"OrganizationCICDPermissions is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the CI/CD permissions object in a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCustomPermissionListServiceCreateOrganizationCustomPermissionListBody":{"description":"Represents the ingested information about the custom fine grained permissions of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionListSpec"},"tenant_meta":{"description":"Organization custom permission list is associated with a tenant.","title":"Organization custom permission list is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the organization custom permission list.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCustomPermissionListServiceUpdateOrganizationCustomPermissionListBody":{"description":"Request to update the custom fine grained permissions of a platform organization.","properties":{"object":{"description":"Represents the ingested information about the custom fine grained permissions of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionListSpec"},"tenant_meta":{"description":"Organization custom permission list is associated with a tenant.","title":"Organization custom permission list is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the organization custom permission list.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCustomRoleListServiceCreateOrganizationCustomRoleListBody":{"description":"OrganizationCustomRoleList represents the information about a platform organization's custom roles.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomRoleListSpec"},"tenant_meta":{"description":"OrganizationCustomRoleList is associated with a tenant.","title":"OrganizationCustomRoleList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a custom role list in an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationCustomRoleListServiceUpdateOrganizationCustomRoleListBody":{"description":"Request to update the custom role list in an organization.","properties":{"object":{"description":"OrganizationCustomRoleList represents the information about a platform organization's custom roles.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomRoleListSpec"},"tenant_meta":{"description":"OrganizationCustomRoleList is associated with a tenant.","title":"OrganizationCustomRoleList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a custom role list in an organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationHookServiceCreateOrganizationHookBody":{"description":"OrganizationHook represents the information of hooks created for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationHookSpec"},"tenant_meta":{"description":"Organization hooks are associated with a tenant.","title":"Organization hooks are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an organizatio hook.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationHookServiceUpdateOrganizationHookBody":{"description":"Request used to update an organization hook.","properties":{"object":{"description":"OrganizationHook represents the information of hooks created for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationHookSpec"},"tenant_meta":{"description":"Organization hooks are associated with a tenant.","title":"Organization hooks are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an organizatio hook.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationInstallationListServiceCreateOrganizationInstallationListBody":{"description":"OrganizationInstallationList represents the ingested information about the installation information of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInstallationListSpec"},"tenant_meta":{"description":"OrganizationInstallationList is associated with a tenant.","title":"OrganizationInstallationList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the installation informatoin of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationInstallationListServiceUpdateOrganizationInstallationListBody":{"description":"Request to update the installation information of a platform organization.","properties":{"object":{"description":"OrganizationInstallationList represents the ingested information about the installation information of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInstallationListSpec"},"tenant_meta":{"description":"OrganizationInstallationList is associated with a tenant.","title":"OrganizationInstallationList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the installation informatoin of a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationInvitationListServiceCreateOrganizationInvitationListBody":{"description":"OrganizationInvitationList represents the ingested information about invitations of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInvitationListSpec"},"tenant_meta":{"description":"OrganizationInvitationList is associated with a tenant.","title":"OrganizationInvitationList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an invitation list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationInvitationListServiceUpdateOrganizationInvitationListBody":{"description":"Request to update invitations of a a platform organization.","properties":{"object":{"description":"OrganizationInvitationList represents the ingested information about invitations of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInvitationListSpec"},"tenant_meta":{"description":"OrganizationInvitationList is associated with a tenant.","title":"OrganizationInvitationList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of an invitation list of a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationMemberListServiceCreateOrganizationMemberListBody":{"description":"OrganizationMemberList represents the ingested information about members of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationMemberListSpec"},"tenant_meta":{"description":"OrganizationMemberList is associated with a tenant.","title":"OrganizationMemberList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the member list of an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationMemberListServiceUpdateOrganizationMemberListBody":{"description":"Request to update members of a platform organization.","properties":{"object":{"description":"OrganizationMemberList represents the ingested information about members of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationMemberListSpec"},"tenant_meta":{"description":"OrganizationMemberList is associated with a tenant.","title":"OrganizationMemberList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the member list of an organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationOutsideCollaboratorListServiceCreateOrganizationOutsideCollaboratorListBody":{"description":"OrganizationOutsideCollaboratorList represents the ingested information about outside collaborators of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorListSpec"},"tenant_meta":{"description":"OrganizationOutsideCollaboratorList is associated with a tenant.","title":"OrganizationOutsideCollaboratorList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the outside collaborators list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationOutsideCollaboratorListServiceUpdateOrganizationOutsideCollaboratorListBody":{"description":"Request to update outside collaborators of a platform organization.","properties":{"object":{"description":"OrganizationOutsideCollaboratorList represents the ingested information about outside collaborators of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorListSpec"},"tenant_meta":{"description":"OrganizationOutsideCollaboratorList is associated with a tenant.","title":"OrganizationOutsideCollaboratorList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the outside collaborators list of a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationRunnerGroupConfigServiceCreateOrganizationRunnerGroupConfigBody":{"description":"OrganizationRunnerGroupConfig represents the ingested information about a self-hosted runner group configuration of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfigSpec"},"tenant_meta":{"description":"OrganizationRunnerGroupConfig is associated with a tenant.","title":"OrganizationRunnerGroupConfig is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the runner group configuration of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationRunnerGroupConfigServiceUpdateOrganizationRunnerGroupConfigBody":{"description":"Request to update runner group configuration of a platform organization.","properties":{"object":{"description":"OrganizationRunnerGroupConfig represents the ingested information about a self-hosted runner group configuration of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfigSpec"},"tenant_meta":{"description":"OrganizationRunnerGroupConfig is associated with a tenant.","title":"OrganizationRunnerGroupConfig is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the runner group configuration of a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationSecurityManagerListServiceCreateOrganizationSecurityManagerListBody":{"description":"OrganizationSecurityManagerList represents the ingested information about security managers of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerListSpec"},"tenant_meta":{"description":"OrganizationSecurityManagerList is associated with a tenant.","title":"OrganizationSecurityManagerList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the security managers list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationSecurityManagerListServiceUpdateOrganizationSecurityManagerListBody":{"description":"Request to update security managers of a platform organization.","properties":{"object":{"description":"OrganizationSecurityManagerList represents the ingested information about security managers of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerListSpec"},"tenant_meta":{"description":"OrganizationSecurityManagerList is associated with a tenant.","title":"OrganizationSecurityManagerList is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the security managers list of a platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationWorkflowPermissionsServiceCreateOrganizationWorkflowPermissionsBody":{"description":"OrganizationWorkflowPermissions represents the information of workflow permissions for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissionsSpec"},"tenant_meta":{"description":"OrganizationWorkflowPermissions are associated wtih a tenant.","title":"OrganizationWorkflowPermissions are associated wtih a tenant.","type":"object"},"uuid":{"description":"The UUID of the workflow permissions of an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"OrganizationWorkflowPermissionsServiceUpdateOrganizationWorkflowPermissionsBody":{"description":"Request to update workflow permissions of an organization.","properties":{"object":{"description":"OrganizationWorkflowPermissions represents the information of workflow permissions for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissionsSpec"},"tenant_meta":{"description":"OrganizationWorkflowPermissions are associated wtih a tenant.","title":"OrganizationWorkflowPermissions are associated wtih a tenant.","type":"object"},"uuid":{"description":"The UUID of the workflow permissions of an organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"OutputChoice":{"properties":{"finish_reason":{"$ref":"#/components/schemas/ChoiceFinishReason"},"index":{"description":"The index of the choice.","format":"int32","type":"integer"},"message":{"$ref":"#/components/schemas/SpecMessage"}},"type":"object"},"OutputCompletionUsage":{"description":"Completion usage of the AI request.","properties":{"caching_tokens":{"description":"The number of caching tokens of the AI request.","format":"int32","type":"integer"},"completion_tokens":{"description":"The number of completion tokens of the AI request.","format":"int32","type":"integer"},"prompt_tokens":{"description":"The number ofprompt tokens of the AI request.","format":"int32","type":"integer"},"reasoning_tokens":{"description":"The number of reasoning tokens of the AI request.","format":"int32","type":"integer"},"total_tokens":{"description":"The total number of tokens of the AI request.","format":"int32","type":"integer"}},"type":"object"},"PRCommentConfigServiceCreatePRCommentConfigBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PRCommentConfigSpec"},"tenant_meta":{"description":"PR comment configurations are associated with a tenant.","title":"PR comment configurations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a PR comment configuration.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PRCommentConfigServiceUpdatePRCommentConfigBody":{"description":"Request to update a PR comment configuration.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PRCommentConfigSpec"},"tenant_meta":{"description":"PR comment configurations are associated with a tenant.","title":"PR comment configurations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of a PR comment configuration.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"PackageFirewallConfigException":{"description":"Exception defines an allowlist rule for a specific package and optional version constraints.\nIf any exception matches the request, all checks are skipped immediately.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"exact_versions":{"description":"Optional list of exact version strings to except.","items":{"type":"string"},"type":"array"},"package_name":{"description":"Name of the excepted package (e.g. \"lodash\" for npm, \"requests\" for pypi).\nDoes not include version or ecosystem prefix.","type":"string"},"version_ranges":{"description":"Optional version ranges. A package version matches if it falls within any of these ranges.\nIf both version_ranges and exact_versions are empty, all versions of the package are excepted.","items":{"$ref":"#/components/schemas/PackageFirewallConfigVersionRange"},"type":"array"}},"required":["ecosystem","package_name"],"type":"object"},"PackageFirewallConfigFirewallNotificationRule":{"description":"FirewallNotificationRule maps firewall block/warn events to NotificationTarget(s).","properties":{"name":{"description":"Optional name for the notification rule.","type":"string"},"notification_target_uuids":{"description":"UUIDs of the NotificationTarget(s) to send to.","items":{"type":"string"},"type":"array"},"on_actions":{"description":"Firewall actions that trigger this rule. Empty matches all actions.","items":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"type":"array"},"reasons":{"description":"Firewall reasons that trigger this rule. Empty matches all reasons.","items":{"$ref":"#/components/schemas/v1PackageFirewallReason"},"type":"array"}},"type":"object"},"PackageFirewallConfigVersionRange":{"description":"VersionRange defines an inclusive lower bound and an exclusive upper bound for a version range.\nEither boundary may be omitted.","properties":{"end":{"description":"Exclusive upper bound (e.g. \"2.0.0\"). Omit to match to the end.","type":"string"},"start":{"description":"Inclusive lower bound (e.g. \"1.0.0\"). Omit to match from the beginning.","type":"string"}},"type":"object"},"PackageFirewallLogFilteredVersion":{"description":"FilteredVersion records a single package version suppressed from a metadata response\nduring a package curation event.","properties":{"malware_uuid":{"description":"UUID of detected malware (populated when reason = MALWARE_DETECTED).","type":"string"},"min_age_hours":{"description":"Configured minimum age threshold in hours, snapshotted from PackageFirewallConfig.min_age_hours\nat suppression time (populated when reason = MIN_AGE_NOT_MET). Combine with the parent Spec's\naction_at and this version's package_age_hours to derive when the version becomes eligible.","format":"int32","type":"integer"},"package_age_hours":{"description":"Age of package in hours at suppression time (populated when reason = MIN_AGE_NOT_MET).","format":"int32","type":"integer"},"reason":{"$ref":"#/components/schemas/v1PackageFirewallReason"},"version":{"description":"Version string that was suppressed from the metadata response.","type":"string"}},"type":"object"},"PackageFirewallLogServiceCreatePackageFirewallLogBody":{"description":"PackageFirewallLog represents a package firewall audit event recording the\naction taken and the reason that triggered it.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageFirewallLogSpec"},"tenant_meta":{"description":"Namespace of the package firewall log.","title":"Namespace of the package firewall log.","type":"object"},"uuid":{"description":"The UUID of the package firewall log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackageLicenseInfoLicenseInfoMapping":{"description":"Additional context about the raw license description.","properties":{"confidence":{"description":"Confidence level of the mapping.","format":"float","type":"number"},"mapping_info":{"$ref":"#/components/schemas/v1LicenseMappingInfo"},"notes":{"description":"Additional notes about the mapping.","type":"string"},"source":{"description":"Source of the license mapping information.","type":"string"}},"type":"object"},"PackageLicenseOverrideCopyrightOverride":{"description":"CopyrightOverride represents an override for a single copyright.\nThis is used when the user edits the copyright text or adds a new copyright.","properties":{"copyright_text":{"description":"The copyright text override (as edited by the user).\nThis is the full copyright text that will be used instead of the original.","type":"string"},"file_locations":{"description":"The file locations where the copyright was found in the source code.","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"type":"array"}},"required":["copyright_text"],"type":"object"},"PackageLicenseOverrideLicenseOverride":{"description":"LicenseOverride represents an override for a single license.\nThis is used when the user edits the license text or adds a new license.","properties":{"copyrights":{"description":"The copyrights within the license text.","items":{"type":"string"},"type":"array"},"file_locations":{"description":"The file locations where the license was found in the source code.\nThis helps identify where the original license was located.","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"type":"array"},"license_text":{"description":"The license text override (raw license text as edited by the user).\nThis is the full text of the license that will be used instead of the original.","type":"string"},"original_hash":{"description":"Hash of the original license from PackageLicenseInfo.hash (if overriding existing license).\nThis is the hash that maps to the key in PackageLicense.spec.license_text map.\nFor new licenses added by user, this will be empty (the hash is calculated from license_text and used as the map key).","type":"string"},"source":{"description":"Source of the original license (e.g., \"code\", \"package_manager\", \"declared\").\nThis helps identify which original license this override corresponds to.","type":"string"},"spdx_expr":{"description":"The SPDX expression of the license (e.g., \"MIT OR Apache-2.0\").","type":"string"},"spdx_ids":{"description":"The SPDX IDs of the license (e.g., [\"MIT\", \"Apache-2.0\"]).","items":{"type":"string"},"type":"array"},"type":{"description":"License classification (based on licenseclassifier by Google).\nExamples: \"notice\", \"reciprocal\", \"permissive\", \"restricted\", etc.","type":"string"},"url":{"description":"The URL link to the license details (if available).","type":"string"}},"required":["license_text"],"type":"object"},"PackageLicenseOverrideNoticeOverride":{"description":"NoticeOverride represents an override for a single notice.\nThis is used when the user edits the notice text or adds a new notice.","properties":{"file_locations":{"description":"The file locations where the notice was found in the source code.","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"type":"array"},"notices_text":{"description":"The notices text override (as edited by the user).\nThis is the full notice text that will be used instead of the original.","type":"string"}},"required":["notices_text"],"type":"object"},"PackageLicenseOverrideServiceCreatePackageLicenseOverrideBody":{"description":"PackageLicenseOverride represents user edits and selections for licenses, copyrights, and notices\nat the package version level. Edits made at this level apply across all projects in the namespace\nthat use the same package version.\nThe package version UUID is stored in spec.package_version_uuid.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether this override should be visible in child namespaces.\nWhen querying from a descendant namespace, handlers should include parent\noverrides only when this flag is set to true (same inheritance pattern as policies).","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseOverrideSpec"},"tenant_meta":{"description":"Tenant metadata.","title":"Tenant metadata.","type":"object"},"uuid":{"description":"The UUID of the package license override.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"PackageLicenseOverrideServiceUpdatePackageLicenseOverrideBody":{"description":"Request to update a package license override.","properties":{"object":{"description":"PackageLicenseOverride represents user edits and selections for licenses, copyrights, and notices\nat the package version level. Edits made at this level apply across all projects in the namespace\nthat use the same package version.\nThe package version UUID is stored in spec.package_version_uuid.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether this override should be visible in child namespaces.\nWhen querying from a descendant namespace, handlers should include parent\noverrides only when this flag is set to true (same inheritance pattern as policies).","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseOverrideSpec"},"tenant_meta":{"description":"Tenant metadata.","title":"Tenant metadata.","type":"object"},"uuid":{"description":"The UUID of the package license override.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"PackageLicenseQueryAppliedOverride":{"description":"All overrides that contributed to the final result, ordered root -\u003e target.","properties":{"namespace":{"description":"Namespace where the contributing override resides.","type":"string"},"override_uuid":{"description":"UUID of the contributing PackageLicenseOverride in that namespace.","type":"string"}},"type":"object"},"PackageLicenseQueryMergedCopyrightEntry":{"description":"MergedCopyrightEntry represents a single copyright with override and selection state.","properties":{"copyright_text":{"description":"The copyright text (from override if edited, otherwise from original).\nThis is the actual copyright text that will be used.","readOnly":true,"type":"string"},"file_locations":{"description":"File locations where the copyright was found (from override if edited, otherwise from original).","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"readOnly":true,"type":"array"},"identifier":{"description":"Stable identifier/key for this copyright (file path from PackageLicense.spec.copyrights map or generated UUID for new copyrights).\nThis identifier is used as the key in copyright_overrides and deselected_copyrights maps.\nFor copyrights from PackageLicense: uses the file path key from PackageLicense.spec.copyrights map.\nFor new copyrights added by user: uses generated UUID prefixed with \"new-\".\nTo determine if a copyright is new: check if identifier starts with \"new-\" or does not exist in original PackageLicense.","readOnly":true,"type":"string"},"is_edited":{"description":"Whether this copyright has been edited/overridden.\ntrue = copyright text has been modified from original, false = using original copyright text.\nCan be derived by checking if identifier exists in copyright_overrides map.","readOnly":true,"type":"boolean"},"resolved_namespace":{"description":"Origin of the effective value for this entry.","readOnly":true,"type":"string"},"resolved_override_uuid":{"readOnly":true,"type":"string"},"selected":{"description":"Whether this copyright is selected for inclusion in notice file.\ntrue = selected (will be included), false = deselected (will be excluded).\nDefaults to true if not present in deselected_copyrights map.","readOnly":true,"type":"boolean"}},"type":"object"},"PackageLicenseQueryMergedLicenseEntry":{"description":"MergedLicenseEntry represents a single license with override and selection state.","properties":{"file_locations":{"description":"File locations where the license was found (from override if edited, otherwise from original).","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"readOnly":true,"type":"array"},"identifier":{"description":"Stable identifier for this license (hash calculated from normalized license text).\nThis identifier is used as the key in license_overrides and deselected_licenses maps.\nFor licenses from PackageLicense: uses PackageLicenseInfo.hash.\nFor new licenses added by user: hash is calculated from license_text using SHA256(MakeLicenseKey(normalized_text)).\nTo determine if a license is new: check if identifier does not exist in original PackageLicense.","readOnly":true,"type":"string"},"is_edited":{"description":"Whether this license has been edited/overridden.\ntrue = license text has been modified from original, false = using original license text.\nCan be derived by checking if identifier exists in license_overrides map.","readOnly":true,"type":"boolean"},"license_text":{"description":"Effective license text resolved after applying propagation across the namespace chain.","readOnly":true,"type":"string"},"resolved_namespace":{"description":"Origin of the effective value for this entry.\nIf no override is applied, resolved_namespace will typically be \"oss\" and\nresolved_override_uuid will be empty.","readOnly":true,"type":"string"},"resolved_override_uuid":{"readOnly":true,"type":"string"},"selected":{"description":"Whether this license is selected for inclusion in notice file.\ntrue = selected (will be included), false = deselected (will be excluded).\nDefaults to true if not present in deselected_licenses map.","readOnly":true,"type":"boolean"},"source":{"description":"Source of the original license (e.g., \"code\", \"package_manager\", \"declared\").\nHelps identify which category the license belongs to.","readOnly":true,"type":"string"},"spdx_expr":{"description":"SPDX expression for the license.","readOnly":true,"type":"string"}},"type":"object"},"PackageLicenseQueryMergedNoticeEntry":{"description":"MergedNoticeEntry represents a single notice with override and selection state.","properties":{"file_locations":{"description":"File locations where the notice was found (from override if edited, otherwise from original).","items":{"$ref":"#/components/schemas/v1LicenseFileLocation"},"readOnly":true,"type":"array"},"identifier":{"description":"Stable identifier for this notice (hash calculated from normalized notice text, or generated UUID for new notices).\nThis identifier is used as the key in notice_overrides and deselected_notices maps.\nFor notices from PackageLicense: uses hash or composite identifier from original.\nFor new notices added by user: hash is calculated from notices_text using SHA256(MakeLicenseKey(normalized_text)).\nTo determine if a notice is new: check if identifier does not exist in original PackageLicense.","readOnly":true,"type":"string"},"is_edited":{"description":"Whether this notice has been edited/overridden.\ntrue = notice text has been modified from original, false = using original notice text.\nCan be derived by checking if identifier exists in notice_overrides map.","readOnly":true,"type":"boolean"},"notices_text":{"description":"The notice text (from override if edited, otherwise from original).\nThis is the actual notice text that will be used.","readOnly":true,"type":"string"},"resolved_namespace":{"description":"Origin of the effective value for this entry.","readOnly":true,"type":"string"},"resolved_override_uuid":{"readOnly":true,"type":"string"},"selected":{"description":"Whether this notice is selected for inclusion in notice file.\ntrue = selected (will be included), false = deselected (will be excluded).\nDefaults to true if not present in deselected_notices map.","readOnly":true,"type":"boolean"}},"type":"object"},"PackageLicenseQueryServiceCreatePackageLicenseQueryBody":{"description":"PackageLicenseQuery represents the merged result of PackageLicense + PackageLicenseOverride.\nThis response combines original license data from PackageLicense with any overrides and\nselection states from PackageLicenseOverride across all namespaces in the namespace chain,\nproviding a complete view for the UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseQuerySpec"},"tenant_meta":{"title":"tenant metadata","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"type":"object"},"PackageLicenseServiceCreatePackageLicenseBody":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseSpec"},"tenant_meta":{"description":"The tenant metadata of the package license.","title":"The tenant metadata of the package license.","type":"object"},"uuid":{"description":"The UUID of the package license.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"PackageLicenseServiceUpdatePackageLicenseBody":{"description":"Request to update a package license.","properties":{"object":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseSpec"},"tenant_meta":{"description":"The tenant metadata of the package license.","title":"The tenant metadata of the package license.","type":"object"},"uuid":{"description":"The UUID of the package license.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"PackageManagerAWSAuthProvider":{"description":"AWSAuthProvider represents a configuration for the authentication with the\nAWS Code Artifact repository.","properties":{"allowed_audience":{"description":"allowed_audience is the allowed audience value to retrieve the role.","type":"string"},"domain":{"description":"domain name of the AWS Code Artifact repository.","type":"string"},"domain_owner":{"description":"domain_owner of the AWS Code Artifact repository.","type":"string"},"region":{"description":"region is the region of the AWS Code Artifact repository.","type":"string"},"repository":{"description":"repositiry of the AWS Code Artifact repository.","type":"string"},"target_role_arn":{"description":"target_role_arn is the role that we need to assume in AWS.","type":"string"}},"required":["domain","domain_owner","repository","target_role_arn","allowed_audience","region"],"type":"object"},"PackageManagerAuthProvider":{"properties":{"aws":{"$ref":"#/components/schemas/PackageManagerAWSAuthProvider"},"gar":{"$ref":"#/components/schemas/PackageManagerGARAuthProvider"},"package_manager_type":{"$ref":"#/components/schemas/PackageManagerAuthProviderPackageManagerType"}},"required":["package_manager_type"],"type":"object"},"PackageManagerAuthProviderPackageManagerType":{"default":"PACKAGE_MANAGER_TYPE_UNSPECIFIED","enum":["PACKAGE_MANAGER_TYPE_UNSPECIFIED","PACKAGE_MANAGER_TYPE_NPM","PACKAGE_MANAGER_TYPE_MVN","PACKAGE_MANAGER_TYPE_CARGO","PACKAGE_MANAGER_TYPE_PYPI","PACKAGE_MANAGER_TYPE_GEM","PACKAGE_MANAGER_TYPE_NUGET","PACKAGE_MANAGER_TYPE_PACKAGIST","PACKAGE_MANAGER_TYPE_GRADLE","PACKAGE_MANAGER_TYPE_COCOAPOD","PACKAGE_MANAGER_TYPE_SWIFT","PACKAGE_MANAGER_TYPE_CONAN"],"type":"string"},"PackageManagerGARAuthProvider":{"description":"GARAuthProvider represents a configuration for authentication with\nGoogle Artifact Registry.\nSupported package manager types: NPM, MVN, GRADLE, PYPI.\nUnsupported types (CARGO, GEM, NUGET, PACKAGIST, COCOAPOD, SWIFT)\nare rejected at runtime.","properties":{"location":{"description":"location is the GCP region or multi-region where the repository is hosted\n(e.g., \"us-central1\", \"europe-west1\", \"us\").","type":"string"},"project_id":{"description":"project_id is the GCP project ID that hosts the Artifact Registry repository.","type":"string"},"repository":{"description":"repository is the name of the Artifact Registry repository.","type":"string"},"service_account_key":{"description":"service_account_key is the JSON key for a GCP service account with\nartifactregistry.reader permissions. Encrypted at rest.","type":"string"}},"required":["project_id","location","repository","service_account_key"],"type":"object"},"PackageManagerServiceCreatePackageManagerBody":{"description":"PackageManager holds the data for the various package\nmanagers of the enterprise. Mainly locations and\naccess credentials when needed to resolve/scan packages\nfrom private package managers.\nAn enterprise can create one or more package managers\nin a namespace. All the package managers of the given\nnamespace will be taken into account when resolving.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageManagerSpec"},"tenant_meta":{"description":"Git repositories are associated tenant.","title":"Git repositories are associated tenant.","type":"object"},"uuid":{"description":"The UUID of the package manager.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackageManagerServiceUpdatePackageManagerBody":{"description":"Request to update the package manager.","properties":{"object":{"description":"PackageManager holds the data for the various package\nmanagers of the enterprise. Mainly locations and\naccess credentials when needed to resolve/scan packages\nfrom private package managers.\nAn enterprise can create one or more package managers\nin a namespace. All the package managers of the given\nnamespace will be taken into account when resolving.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageManagerSpec"},"tenant_meta":{"description":"Git repositories are associated tenant.","title":"Git repositories are associated tenant.","type":"object"},"uuid":{"description":"The UUID of the package manager.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"PackageServiceCreatePackageBody":{"description":"Package represents a package of a project.\n\nFor Golang:\nEvery golang package of a repository will be an package. For instance\ngithub.com/yarpc/yarpc-go/pkg/encoding is a package of the project github.com/yarpc/yarpc-go.\n\nFor Java:\nEvery artifact of a Java repository will be a package. For instance\ngithub.com/apache/logging-log4j2/log4j-api is a package of the project github.com/apache/logging-log4j2.\n\nThe uuid of the parent project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageSpec"},"tenant_meta":{"description":"Packages are associated with a tenant.","title":"Packages are associated with a tenant.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for a package.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"PackageServiceUpdatePackageBody":{"description":"Request to update a package.","properties":{"object":{"description":"Package represents a package of a project.\n\nFor Golang:\nEvery golang package of a repository will be an package. For instance\ngithub.com/yarpc/yarpc-go/pkg/encoding is a package of the project github.com/yarpc/yarpc-go.\n\nFor Java:\nEvery artifact of a Java repository will be a package. For instance\ngithub.com/apache/logging-log4j2/log4j-api is a package of the project github.com/apache/logging-log4j2.\n\nThe uuid of the parent project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageSpec"},"tenant_meta":{"description":"Packages are associated with a tenant.","title":"Packages are associated with a tenant.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for a package.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"PackageVersionDependencyCargoDependencySpec":{"description":"CargoDependencySpec specifies a dependency for\ntype defined in the Rust cargo_metadata crate.","properties":{"cfg":{"$ref":"#/components/schemas/CargoDependencySpecCfg"},"features":{"description":"The list of features enabled for this dependency.","items":{"type":"string"},"type":"array"},"kind":{"$ref":"#/components/schemas/CargoDependencySpecDependencyKind"},"name":{"description":"The name of dependency.","type":"string"},"named":{"$ref":"#/components/schemas/CargoDependencySpecNamedPlatform"},"optional":{"description":"Whether this dependency is required or optional.","type":"boolean"},"path":{"description":"/ The file system path for a local path dependency.","type":"string"},"registry":{"description":"/ The URL of the index of the registry where this dependency is from.\n/ If not specified, the dependency is from crates.io.","type":"string"},"rename":{"description":"If the dependency is renamed, this is the new name for the dependency.","type":"string"},"req":{"description":"The required version, specified as a list of version requirements.\nthat all have to be satisfied.","items":{"$ref":"#/components/schemas/CargoDependencySpecCargoVersionReq"},"type":"array"},"source":{"description":"The source repository query string to use, if any.","type":"string"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all\nthe targets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"uses_default_features":{"description":"Whether the default features in this dependency are used or not.","type":"boolean"},"version_constraints":{"description":"Package version number rules.","type":"string"}},"required":["name","kind","optional","uses_default_features","version_constraints"],"type":"object"},"PackageVersionDependencyCocoapodDependencySpec":{"description":"CocoapodDependencySpec specifies storing a dependency for\ncocoapod packages.","properties":{"name":{"title":"The name of the package.\nExample: Alamofire","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"title":"The Cocoapod version that is defined in the\nPodfile. Example: (~\u003e 1.2)","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyConanDependencySpec":{"description":"ConanDependencySpec specifies storing an unresolved dependency for Conan packages.","properties":{"name":{"description":"Package name, for example, zlib.","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"Targets that this dependency applies to.\nIf there is no target then this dependency applies to all targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"description":"Conan version constraints, for example, \u003e=1.2 \u003c2.0.","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyGemDependencySpec":{"description":"GemDependencySpec specifies storing a dependency for Ruby based\nrepositories or packages.","properties":{"name":{"title":"The name of the Ruby dependency (name of a gem).\nExample: nokogiri","type":"string"},"scope_type":{"$ref":"#/components/schemas/PackageVersionDependencyGemDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"title":"Package version number rules.\nExample-1: ~= 1.2\nExample-2: \u003e= 4.0.0, \u003c 6.0.0\nExample-3: == 5.4.7","type":"string"}},"required":["name","version_constraints"],"type":"object"},"PackageVersionDependencyGemDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":"Scope.\n\n - SCOPE_UNSPECIFIED: Unspecified scope when it is unclear what the scope is.\n - SCOPE_NORMAL: Default scope when no other scope is provided.\n - SCOPE_DEVELOPMENT: All development and test dependencies.","enum":["SCOPE_UNSPECIFIED","SCOPE_NORMAL","SCOPE_DEVELOPMENT"],"type":"string"},"PackageVersionDependencyGitHubActionDependencySpec":{"description":"GitHubActionDependencySpec specifies storing a dependency for\nGitHub action packages.","properties":{"action_type":{"$ref":"#/components/schemas/GitHubActionDependencySpecGHActionType"},"name":{"title":"The name of the GitHub action\nExample: actions/checkout","type":"string"},"scope":{"$ref":"#/components/schemas/PackageVersionDependencyGitHubActionDependencySpecScope"},"version":{"title":"The version of the GitHub action\nExample: v1, v2, main","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyGitHubActionDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":"The scope of the GitHub action dependency.\n\n - SCOPE_UNSPECIFIED: unspecified scope when it is unclear what the scope is.\n - SCOPE_NORMAL: NORMAL indicates that the GitHub action is being used in prod context.\n - SCOPE_TEST: TEST indicates that the GitHub action is being used in test context.","enum":["SCOPE_UNSPECIFIED","SCOPE_NORMAL","SCOPE_TEST"],"type":"string"},"PackageVersionDependencyGoDependencySpec":{"description":"GoDependencySpec specifies a dependency for\nGo packages or repositories.","properties":{"package":{"title":"The package url of the go dependency.\nExample: go://github.com/hashicorp/golang-lru/simplelru@v0.5.4","type":"string"},"ref":{"description":"The ref of the dependency package version.","type":"string"},"scope_type":{"$ref":"#/components/schemas/PackageVersionDependencyGoDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"}},"required":["package","ref"],"type":"object"},"PackageVersionDependencyGoDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","enum":["SCOPE_UNSPECIFIED","SCOPE_NORMAL","SCOPE_TEST"],"type":"string"},"PackageVersionDependencyHuggingFaceDependencySpec":{"description":"HuggingFaceDependencySpec specifies storing a dependency\nfor hugging face models.","properties":{"name":{"title":"The name of the model or package.\nExample: meta-llama/Meta-Llama-3-8B-Instruct","type":"string"},"version":{"title":"The version of the model or package.\nExample: main","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyMavenDependencySpec":{"description":"MavenDependencySpec specifies a dependency for\nMaven repositories or packages.","properties":{"artifact_id":{"description":"The name of a Maven project.","type":"string"},"classifier":{"description":"Differentiates Maven artifacts that were built from the same\nPOM for different contexts. Some examples are \"tests\", \"client\", and\n\"sources\".","type":"string"},"exclusions":{"description":"Maven dependencies of a package version explicitly excluded.","type":"string"},"group_id":{"description":"A unique identifier for an organization or project in Maven.","type":"string"},"optional":{"description":"Whether a Maven dependency is needed or not for a project to work\ncorrectly.","type":"boolean"},"scope":{"description":"Maven dependency scopes which can help to limit the\ntransitivity of the dependencies and determine build tasks and lifecycle\na dependency applies to. Deprecated. Maintained for compatibility.","type":"string"},"scope_type":{"$ref":"#/components/schemas/PackageVersionDependencyMavenDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"type":{"description":"The Maven dependency type. Some examples are \"jar\", \"ear\", and\n\"test-jar\".","type":"string"},"version_constraints":{"description":"Maven version number rules.","type":"string"}},"required":["group_id","artifact_id","version_constraints"],"type":"object"},"PackageVersionDependencyMavenDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":" - SCOPE_UNSPECIFIED: Scope is not set.\n - SCOPE_COMPILE: Dependency is required at compile time.\n - SCOPE_PROVIDED: Dependency is provided at runtime by JDK or a container.\n - SCOPE_RUNTIME: Dependency is required at runtime but not at compile time.\n - SCOPE_TEST: Dependency is not required at runtime and is only used for test\npurposes.\n - SCOPE_SYSTEM: Dependency is provided by the host system.\n - SCOPE_CUSTOM: Scope is not predefined and is a customized value for certain\necosystems.\n - SCOPE_VENDORED_CODE: Dependency is provided by source code vendored.\n - SCOPE_IMPORT: Dependency is imported via pom/abstract dependency.","enum":["SCOPE_UNSPECIFIED","SCOPE_COMPILE","SCOPE_PROVIDED","SCOPE_RUNTIME","SCOPE_TEST","SCOPE_SYSTEM","SCOPE_CUSTOM","SCOPE_VENDORED_CODE","SCOPE_IMPORT"],"type":"string"},"PackageVersionDependencyNpmDependencySpec":{"description":"NpmDependencySpec specifies storing a dependency for npm\nbased repositories or packages.","properties":{"name":{"title":"name specifies the package name of the npm package.\nExample: react","type":"string"},"scope":{"$ref":"#/components/schemas/PackageVersionDependencyNpmDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version":{"title":"version specifies the version of the npm dependency if concrete version\nis defined in package.json. Example: 1.0.0","type":"string"},"version_constraint":{"title":"versionConstraints are module version number rules if no concrete version\nis found. Example-1: ~= 3.2 Example-2: \u003e= 2.0.0, \u003c 3.0.0 Example-3:\n== 4.7.0","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyNpmDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":"The scope of the npm dependency.\n\n - SCOPE_UNSPECIFIED: unspecified scope when it is unclear what the scope is.\n - SCOPE_DEPENDENCY: DEPENDENCY indicates that the dependency is required for the package to\nfunction.\n - SCOPE_DEV_DEPENDENCY: DEV_DEPENDENCY indicates that the dependency is required for\ndevelopment purposes.\n - SCOPE_OPTIONAL_DEPENDENCY: OPTIONAL_DEPENDENCY indicates that the dependency is optional.\n - SCOPE_PEER_DEPENDENCY: PEER_DEPENDENCY indicates that the dependency is Peer.","enum":["SCOPE_UNSPECIFIED","SCOPE_DEPENDENCY","SCOPE_DEV_DEPENDENCY","SCOPE_OPTIONAL_DEPENDENCY","SCOPE_PEER_DEPENDENCY"],"type":"string"},"PackageVersionDependencyNugetDependencySpec":{"description":"NugetDependencySpec specifies storing a dependency for\nNuGet based repositories or packages.","properties":{"name":{"title":"The package URL of the NuGet package.\nExample: nuget://System.Text.JSON@1.0.0","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"title":"The NuGet package version that is defined in the\ncsproj file. Example-1: [1.0.0, 2.0.0), Example-2: * Example-3:\n(1.0.0, 2.0.0]","type":"string"}},"required":["name"],"type":"object"},"PackageVersionDependencyPackagistDependencySpec":{"description":"PackagistDependencySpec specifies storing a dependency for php\nbased repositories or packages.","properties":{"name":{"title":"The name of the PHP package dependency.\nExample: monolog/monolog","type":"string"},"scope_type":{"$ref":"#/components/schemas/PackageVersionDependencyPackagistDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"title":"Package version number rules.\nExample-1: ^1.5.3 || ^2.0\nExample-2: ^1.8.1\nExample-3: ^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0","type":"string"}},"required":["name","version_constraints"],"type":"object"},"PackageVersionDependencyPackagistDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":"Scope.\n\n - SCOPE_UNSPECIFIED: unspecified scope when it is unclear what the scope is.\n - SCOPE_NORMAL: default scope when no other scope is provided.\n - SCOPE_DEVELOPMENT: all development and test dependencies.","enum":["SCOPE_UNSPECIFIED","SCOPE_NORMAL","SCOPE_DEVELOPMENT"],"type":"string"},"PackageVersionDependencyPypiDependencySpec":{"description":"PypiDependencySpec specifies a dependency for\nPython based repositories or packages.","properties":{"name":{"title":"The package name of the python dependency.\nExample: multidict","type":"string"},"package_manager_type":{"$ref":"#/components/schemas/PackageVersionDependencyPypiDependencySpecPackageManagerType"},"scope_type":{"$ref":"#/components/schemas/PackageVersionDependencyPypiDependencySpecScope"},"targets":{"description":"The targets to which this dependency applies.\nIf there is no target then this dependency will be applicable for all the\ntargets. A dependency can be valid for multiple targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"title":"Package version number rules.\nExample-1: ~= 3.2\nExample-2: \u003e= 2.0.0, \u003c 3.0.0\nExample-3: == 4.7.0","type":"string"}},"required":["name","version_constraints"],"type":"object"},"PackageVersionDependencyPypiDependencySpecPackageManagerType":{"default":"PACKAGE_MANAGER_TYPE_UNSPECIFIED","description":"Python package manager.\n\n - PACKAGE_MANAGER_TYPE_PIP: PIP package manager\n - PACKAGE_MANAGER_TYPE_PIPENV: PIPENV package manager\n - PACKAGE_MANAGER_TYPE_POETRY: POETRY package manager\n - PACKAGE_MANAGER_TYPE_PDM: PDM package manager\n - PACKAGE_MANAGER_TYPE_UV: UV package manager","enum":["PACKAGE_MANAGER_TYPE_UNSPECIFIED","PACKAGE_MANAGER_TYPE_PIP","PACKAGE_MANAGER_TYPE_PIPENV","PACKAGE_MANAGER_TYPE_POETRY","PACKAGE_MANAGER_TYPE_PDM","PACKAGE_MANAGER_TYPE_UV"],"type":"string"},"PackageVersionDependencyPypiDependencySpecScope":{"default":"SCOPE_UNSPECIFIED","description":"Scope.\n\n - SCOPE_UNSPECIFIED: Unspecified scope when it is unclear what the scope is.\n - SCOPE_NORMAL: Default scope when no other scope is provided.\n - SCOPE_OPTIONAL: All optional dependencies and extras related to features, dev, test or\nany other.","enum":["SCOPE_UNSPECIFIED","SCOPE_NORMAL","SCOPE_OPTIONAL"],"type":"string"},"PackageVersionDependencySwiftDependencySpec":{"description":"SwiftDependencySpec specifies storing a dependency for Swift packages.","properties":{"branch":{"minLength":1,"type":"string"},"exact":{"minLength":1,"type":"string"},"name":{"minLength":1,"title":"The name of the Swift package.\nExample: github.com/Alamofire/Alamofire","type":"string"},"range":{"$ref":"#/components/schemas/PackageVersionDependencySwiftDependencySpecRange"},"revision":{"minLength":1,"type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"The targets to which this dependency applies.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"}},"required":["name","exact","revision","branch","range"],"type":"object"},"PackageVersionDependencySwiftDependencySpecRange":{"description":"Range represents a version range.","properties":{"lower_bound":{"minLength":1,"type":"string"},"upper_bound":{"minLength":1,"type":"string"}},"required":["lower_bound","upper_bound"],"type":"object"},"PackageVersionDependencyUnresolvedDependencySpec":{"description":"Unresolved dependency data.","properties":{"name":{"description":"Package name, for example, Alamofire.","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"targets":{"description":"Targets that this dependency applies to.\nIf there is no target then this dependency applies to all targets.","items":{"$ref":"#/components/schemas/v1Target"},"type":"array"},"version_constraints":{"description":"Version constraints, for example, ~\u003e 1.2.","type":"string"}},"required":["name"],"type":"object"},"PackageVersionLicenseQueryServiceCreatePackageVersionLicenseQueryBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionLicenseQuerySpec"},"tenant_meta":{"description":"Package version license is associated with a tenant.","title":"Package version license is associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the query and makes the object compatible with the system.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackageVersionMetadataQueryServiceCreatePackageVersionMetadataQueryBody":{"description":"PackageVersionMetadataQuery identifies the origin and metadata\nof a package or package version from the OSS ecosystems.\nThe query accepts as input the name of the package with an optional\nversion and identifies whether the package can be found in the open\nsource ecosystem, the associated versions and release dates and\nsource code references.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionMetadataQuerySpec"},"tenant_meta":{"description":"Queries are supported only in the open source ecosystem.","title":"Queries are supported only in the open source ecosystem.","type":"object"},"uuid":{"description":"The UUID of the query and makes the object compatible with the system.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackageVersionResolutionErrors":{"description":"ResolutionErrors captures the error results.","properties":{"call_graph":{"$ref":"#/components/schemas/v1ResolutionStatus"},"resolved":{"$ref":"#/components/schemas/v1ResolutionStatus"},"unresolved":{"$ref":"#/components/schemas/v1ResolutionStatus"}},"type":"object"},"PackageVersionServiceCreatePackageVersionBody":{"description":"PackageVersion represents a version of a package.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSpec"},"tenant_meta":{"description":"PackageVersions are associated with a tenant.","title":"PackageVersions are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the package version resource.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"PackageVersionServiceUpdatePackageVersionBody":{"description":"The request to update a package version.","properties":{"object":{"description":"PackageVersion represents a version of a package.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSpec"},"tenant_meta":{"description":"PackageVersions are associated with a tenant.","title":"PackageVersions are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the package version resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"PackageVersionSourceCodeReference":{"properties":{"http_clone_url":{"description":"The URL of the source code repository.","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"version":{"$ref":"#/components/schemas/v1Version"}},"type":"object"},"PackageVersionSourceMetadataServiceCreatePackageVersionSourceMetadataBody":{"description":"PackageVersionSourceMetadata contains source code information for a PackageVersion.\nFor example, for the Java ecosystem this contains details such as checksum values of the artifact,\nlist of class files, and their corresponding checksums and import statements found.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadataSpec"},"tenant_meta":{"description":"PackageVersionSourceMetadata are associated with a tenant.","title":"PackageVersionSourceMetadata are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the package version source metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackageVersionSourceMetadataServiceUpdatePackageVersionSourceMetadataBody":{"description":"The request to update package version source metadata.","properties":{"object":{"description":"PackageVersionSourceMetadata contains source code information for a PackageVersion.\nFor example, for the Java ecosystem this contains details such as checksum values of the artifact,\nlist of class files, and their corresponding checksums and import statements found.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadataSpec"},"tenant_meta":{"description":"PackageVersionSourceMetadata are associated with a tenant.","title":"PackageVersionSourceMetadata are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the package version source metadata.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"PackageVersionsMetadataServiceCreatePackageVersionsMetadataBody":{"description":"PackageVersionMetadata represents a metadata for a package version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionMetadataSpec"},"tenant_meta":{"description":"PackageVersions are associated with a tenant.","title":"PackageVersions are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the package version metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PackagistSpecAuthKind":{"default":"AUTH_KIND_UNSPECIFIED","description":"Auth methods for Packagist - reference\nhttps://getcomposer.org/doc/articles/authentication-for-private-packages.md.","enum":["AUTH_KIND_UNSPECIFIED","AUTH_KIND_HTTP_BASIC","AUTH_KIND_HTTP_BEARER","AUTH_KIND_GITHUB_OAUTH","AUTH_KIND_GITLAB_OAUTH","AUTH_KIND_GITLAB_TOKEN","AUTH_KIND_BITBUCKET_OAUTH"],"type":"string"},"PatchFixType":{"default":"FIX_TYPE_UNSPECIFIED","description":" - FIX_TYPE_UNSPECIFIED: Fix type is undefined.\n - FIX_TYPE_BUILD: Signifies that this patch was used to fix the build.\n - FIX_TYPE_TEST: Signifies that this patch was used to fix a test.\n - FIX_TYPE_VULN: Signifies that this patch was used to fix vulnerabilities.","enum":["FIX_TYPE_UNSPECIFIED","FIX_TYPE_BUILD","FIX_TYPE_TEST","FIX_TYPE_VULN"],"type":"string"},"PathNode":{"description":"Information about one function node.","properties":{"function_ref":{"$ref":"#/components/schemas/NodeFunctionRef"},"internal":{"type":"boolean"},"package_version":{"type":"string"}},"type":"object"},"PermissionsMethods":{"description":"An array of allowed methods.","properties":{"methods":{"items":{"$ref":"#/components/schemas/v1Method"},"type":"array"}},"type":"object"},"PlatformAccountServiceCreatePlatformAccountBody":{"description":"PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformAccountSpec"},"tenant_meta":{"description":"Platform accounts are associated with a tenant.\nPublic accounts will be under a public tenant.","title":"Platform accounts are associated with a tenant.\nPublic accounts will be under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a platform account.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"PlatformAccountServiceUpdatePlatformAccountBody":{"description":"Request to update a platform account.","properties":{"object":{"description":"PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformAccountSpec"},"tenant_meta":{"description":"Platform accounts are associated with a tenant.\nPublic accounts will be under a public tenant.","title":"Platform accounts are associated with a tenant.\nPublic accounts will be under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a platform account.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"PlatformOrganizationServiceCreatePlatformOrganizationBody":{"description":"PlatformOrganization represents an organization on a third party site like Github/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformOrganizationSpec"},"tenant_meta":{"description":"Platform organizations are associated with a tenant.","title":"Platform organizations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"PlatformOrganizationServiceUpdatePlatformOrganizationBody":{"description":"Request to update a platform organization.","properties":{"object":{"description":"PlatformOrganization represents an organization on a third party site like Github/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformOrganizationSpec"},"tenant_meta":{"description":"Platform organizations are associated with a tenant.","title":"Platform organizations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the platform organization.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"PolicyAdmissionAction":{"properties":{"bypass_exceptions":{"description":"Set to true if exception policies should be ignored for findings\nmatching this policy.","type":"boolean"},"disable_enforcement":{"description":"If disable_enforcement is set the policy will just log the result\nand not enforce an action. This allows debugging and observation\nof the system.","type":"boolean"}},"type":"object"},"PolicyExceptionAction":{"properties":{"expiration_time":{"description":"Expiration time of the exception policy.","format":"date-time","type":"string"},"reason":{"$ref":"#/components/schemas/v1ExceptionReason"},"tags":{"description":"[Optional] List of tags to add to spec.exception.tags in matching\nfindings.","items":{"type":"string"},"type":"array"}},"required":["reason"],"type":"object"},"PolicyFindingAction":{"properties":{"categories":{"description":"List of categories that capture the use cases the finding fits in.\nFor policy templates, this is used as the default value but\nit can be changed.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"explanation":{"description":"Explanation provides information about the reason this is considered\nnoteworthy. For policy templates this is used as the default value but\nit can be changed to any free form string.","type":"string"},"external_name":{"description":"External finding name.\nFor policy templates this is used as the default value but\nit can be changed to any free form string.","type":"string"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"meta_tags":{"description":"Additional meta tags for the finding that is created.","items":{"type":"string"},"type":"array"},"remediation":{"description":"Remediation instructions.\nFor policy templates this is used as the default value but\nit can be changed to any free form string.","type":"string"},"summary":{"description":"Summary of the finding that is created.\nFor policy templates this is used as the default value but\nit can be changed to any free form string.","type":"string"},"tags":{"description":"Additional tags for the finding that is created.\nFor policy templates, this is used as the default value but\nit can be changed.","items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"},"target_kind":{"description":"Repository, RepositoryVersion, or PackageVersion.\nThis is usually the same as the finding parent kind.","type":"string"}},"required":["level","summary","explanation","remediation"],"type":"object"},"PolicyPolicyType":{"default":"POLICY_TYPE_UNSPECIFIED","description":" - POLICY_TYPE_ADMISSION: POLICY_TYPE_ADMISSION will admit/reject pipeline runs.\nAdmission policies operate on Findings and are run during\na CI/CD pipeline. They may return data such as the uuids\nof findings that violate the policy.\n - POLICY_TYPE_NOTIFICATION: POLICY_TYPE_NOTIFICATION is for policies that generate notifications.\n - POLICY_TYPE_ML_FINDING: ML finding policies enable or disable algorithmic findings.\nNote that there is no input data for these policies,\nthey always return output, and the allowed value is ignored.\n - POLICY_TYPE_SYSTEM_FINDING: A system finding policy is created from a system policy\ntemplate. It processes data and creates new findings.\nSystem finding policies are run together with user and\nML (a.k.a. algorithmic) findings.\nSystem finding policies can only be enabled, disabled, and\nedited. They cannot be created or deleted.\n - POLICY_TYPE_USER_FINDING: A user finding policy is created from scratch or from a customer\npolicy template. It processes data and creates new findings.\nUser finding policies are run together with system and\nML (a.k.a. algorithmic) findings.\nUser finding policies can be created, enabled, disabled, edited,\nand deleted.\n - POLICY_TYPE_EXCEPTION: An exception policy identifies findings which should be\nexcluded from admission and notification policies. It is\ncreated from scratch or from an exception policy template.\n - POLICY_TYPE_REMEDIATION: A remediation policy identifies findings which should be\nremediated. It is created from scratch or from a remediation\npolicy template.","enum":["POLICY_TYPE_UNSPECIFIED","POLICY_TYPE_ADMISSION","POLICY_TYPE_NOTIFICATION","POLICY_TYPE_FINDING","POLICY_TYPE_FINDING_CFG","POLICY_TYPE_ML_FINDING","POLICY_TYPE_SYSTEM_FINDING","POLICY_TYPE_USER_FINDING","POLICY_TYPE_EXCEPTION","POLICY_TYPE_REMEDIATION"],"type":"string"},"PolicyServiceCreatePolicyBody":{"description":"Policy represents a policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicySpec"},"tenant_meta":{"description":"Policies can be issued per namespace.","title":"Policies can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PolicyServiceUpdatePolicyBody":{"description":"Request to update a policy.","properties":{"object":{"description":"Policy represents a policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicySpec"},"tenant_meta":{"description":"Policies can be issued per namespace.","title":"Policies can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the policy.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"PolicyTemplateParameter":{"properties":{"default_values":{"description":"List of default values, if applicable.\nUsed by the UI to pre-populate input values.","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the field.","type":"string"},"multiple_ok":{"description":"Is true if multiple possible values are allowed to be set as a list.","type":"boolean"},"name":{"description":"The parameter name displayed to the user.","type":"string"},"possible_values":{"description":"A list of possible values that are accepted\nby the template. Can be used by the UI as a selector.\nIgnored by UI if possible_values_from_db is set.","items":{"type":"string"},"type":"array"},"possible_values_from_db":{"$ref":"#/components/schemas/TemplateParameterQueryApiData"},"required":{"description":"Set to true if the parameter must have an input value.","type":"boolean"},"value":{"description":"The actual template parameter name and\nthe key in the policy template_values map.","type":"string"}},"required":["value","description","name"],"type":"object"},"PolicyTemplateParameterValues":{"properties":{"values":{"items":{"type":"string"},"title":"List of template parameter values","type":"array"}},"type":"object"},"PolicyTemplateServiceCreatePolicyTemplateBody":{"description":"PolicyTemplate represents a policy system in the system. Policy\ntemplates can be used to create policies from these templates.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicyTemplateSpec"},"tenant_meta":{"description":"PolicyTemplates can be issued per namespace.","title":"PolicyTemplates can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the policy template.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"PolicyTemplateServiceUpdatePolicyTemplateBody":{"description":"Request to update a policy template.","properties":{"object":{"description":"PolicyTemplate represents a policy system in the system. Policy\ntemplates can be used to create policies from these templates.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicyTemplateSpec"},"tenant_meta":{"description":"PolicyTemplates can be issued per namespace.","title":"PolicyTemplates can be issued per namespace.","type":"object"},"uuid":{"description":"The UUID of the policy template.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"PolicyValidationResult":{"description":"PolicyValidationResult represents a policy validation result.","properties":{"allow":{"description":"True if input data is accepted by policy.\nFalse if input data is rejected by policy.\nNull if validation failed.","type":"boolean"},"evaluation_time":{"additionalProperties":{"format":"int64","type":"string"},"description":"Time it took to evaluate the policy, in milliseconds, indexed by the project UUID.","type":"object"},"policy_output":{"additionalProperties":{"$ref":"#/components/schemas/v1PolicyOutput"},"description":"Parsed policy output indexed by the project UUID.","type":"object"},"policy_rule":{"description":"Policy rule from the request.","type":"string"},"query_statements":{"description":"List of policy query statements from the request.","items":{"type":"string"},"type":"array"},"resource_kinds":{"description":"List of resource kinds that the validated policy requires.","items":{"type":"string"},"type":"array"},"valid_policy":{"description":"Validation result.\nTrue if policy is valid.\nFalse if policy is not valid.","type":"boolean"},"validation_error":{"description":"Validation error if applicable.\nEmpty if policy is valid.","type":"string"}},"required":["policy_rule","query_statements","valid_policy"],"type":"object"},"PolicyValidationServiceCreatePolicyValidationBody":{"description":"PolicyValidation represents a policy validation request and response.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PolicyValidationSpec"},"tenant_meta":{"description":"The tenant metadata restrict access to a specific tenant.","title":"The tenant metadata restrict access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"ProjectServiceCreateProjectBody":{"description":"Logical root object that serves as the basis for organizing and managing all\ninformation related to a repository.\n\nA project corresponds to a repository.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ProjectSpec"},"tenant_meta":{"description":"The tenant to which the project belongs.","title":"The tenant to which the project belongs.","type":"object"},"uuid":{"description":"The unique identifier of the project.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ProjectServiceUpdateProjectBody":{"description":"Request used to update a project.","properties":{"object":{"description":"Logical root object that serves as the basis for organizing and managing all\ninformation related to a repository.\n\nA project corresponds to a repository.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ProjectSpec"},"tenant_meta":{"description":"The tenant to which the project belongs.","title":"The tenant to which the project belongs.","type":"object"},"uuid":{"description":"The unique identifier of the project.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ProjectSummaryServiceCreateProjectSummaryBody":{"description":"ProjectSummary is an internal API to accelerate the UI operations.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProjectSummarySpec"},"tenant_meta":{"description":"Project Summary are associated with a  tenant.","title":"Project Summary are associated with a  tenant.","type":"object"},"uuid":{"description":"The UUID of the for the project summary.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"ProjectSummaryServiceUpdateProjectSummaryBody":{"description":"Request to update a project summary.","properties":{"object":{"description":"ProjectSummary is an internal API to accelerate the UI operations.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProjectSummarySpec"},"tenant_meta":{"description":"Project Summary are associated with a  tenant.","title":"Project Summary are associated with a  tenant.","type":"object"},"uuid":{"description":"The UUID of the for the project summary.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"ProjectSummarySpecDependencyCounts":{"description":"DependencyCounts tracks different types of dependencies in the project.","properties":{"direct":{"description":"Direct dependencies declared in the project.","format":"int32","type":"integer"},"outdated":{"description":"Dependencies that have newer versions available.","format":"int32","type":"integer"},"total":{"description":"Total number of dependencies.","format":"int32","type":"integer"},"transitive":{"description":"Transitive dependencies pulled in by direct dependencies.","format":"int32","type":"integer"},"unmaintained":{"description":"Dependencies that are no longer maintained.","format":"int32","type":"integer"}},"required":["total","direct","transitive","outdated","unmaintained"],"type":"object"},"ProjectSummarySpecFindingCounts":{"description":"Finding statistics.","properties":{"critical":{"format":"int32","type":"integer"},"dismissed":{"format":"int32","type":"integer"},"high":{"format":"int32","type":"integer"},"low":{"format":"int32","type":"integer"},"medium":{"format":"int32","type":"integer"},"total":{"format":"int32","type":"integer"}},"required":["total","critical","high","medium","low","dismissed"],"type":"object"},"ProjectSummarySpecTopDependencies":{"description":"TopDependencies tracks the most significant dependencies in various categories.","properties":{"by_critical_findings":{"description":"Top dependencies by critical findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_critical_reachable_vulnerabilities":{"description":"Top dependencies by critical reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_critical_vulnerabilities":{"description":"Top dependencies by critical vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_findings":{"description":"Top dependencies by total findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_high_findings":{"description":"Top dependencies by high severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_high_reachable_vulnerabilities":{"description":"Top dependencies by high severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_high_vulnerabilities":{"description":"Top dependencies by high severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_low_findings":{"description":"Top dependencies by low severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_low_reachable_vulnerabilities":{"description":"Top dependencies by low severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_low_vulnerabilities":{"description":"Top dependencies by low severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_medium_findings":{"description":"Top dependencies by medium severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_medium_reachable_vulnerabilities":{"description":"Top dependencies by medium severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_medium_vulnerabilities":{"description":"Top dependencies by medium severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_reachable_vulnerabilities":{"description":"Top dependencies by reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"},"by_vulnerabilities":{"description":"Top dependencies by total vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependenciesDependencyInfo"},"type":"array"}},"type":"object"},"ProjectSummarySpecTopDependenciesDependencyInfo":{"description":"DependencyInfo contains detailed information about a dependency.","properties":{"finding_counts":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"name":{"description":"Name of the dependency.","type":"string"},"uuid":{"description":"Unique identifier for the dependency.","type":"string"},"vulnerability_counts":{"$ref":"#/components/schemas/ProjectSummarySpecVulnerabilityCounts"}},"required":["uuid","name"],"type":"object"},"ProjectSummarySpecTopPackages":{"description":"TopPackages tracks the most significant packages in various categories.","properties":{"by_critical_findings":{"description":"Top packages by critical findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_critical_reachable_vulnerabilities":{"description":"Top packages by critical reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_critical_vulnerabilities":{"description":"Top packages by critical vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_findings":{"description":"Top packages by total findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_high_findings":{"description":"Top packages by high severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_high_reachable_vulnerabilities":{"description":"Top packages by high severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_high_vulnerabilities":{"description":"Top packages by high severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_low_findings":{"description":"Top packages by low severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_low_reachable_vulnerabilities":{"description":"Top packages by low severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_low_vulnerabilities":{"description":"Top packages by low severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_medium_findings":{"description":"Top packages by medium severity findings.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_medium_reachable_vulnerabilities":{"description":"Top packages by medium severity reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_medium_vulnerabilities":{"description":"Top packages by medium severity vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_outdated_dependencies":{"description":"Top packages by outdated dependencies.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_reachable_vulnerabilities":{"description":"Top packages by reachable vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_unmaintained_dependencies":{"description":"Top packages by unmaintained dependencies.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"},"by_vulnerabilities":{"description":"Top packages by total vulnerabilities.","items":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackagesPackageInfo"},"type":"array"}},"type":"object"},"ProjectSummarySpecTopPackagesPackageInfo":{"description":"PackageInfo contains detailed information about a package.","properties":{"dependency_counts":{"$ref":"#/components/schemas/ProjectSummarySpecDependencyCounts"},"finding_counts":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"name":{"description":"Name of the package.","type":"string"},"uuid":{"description":"Unique identifier for the package.","type":"string"},"vulnerability_counts":{"$ref":"#/components/schemas/ProjectSummarySpecVulnerabilityCounts"}},"required":["uuid","name"],"type":"object"},"ProjectSummarySpecVulnerabilityCounts":{"description":"VulnerabilityCounts tracks different categories of vulnerabilities in the project.","properties":{"exploitable_likelihood":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"exploitable_likelihood_potentially_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"exploitable_likelihood_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"low_upgrade_risk":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"low_upgrade_risk_potentially_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"low_upgrade_risk_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"normal":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"normal_fixable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"normal_fixable_potentially_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"normal_fixable_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"normal_fixable_unreachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"potentially_reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"reachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"total":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"unreachable":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"}},"required":["total","normal","normal_fixable","reachable","normal_fixable_reachable","potentially_reachable","normal_fixable_potentially_reachable","unreachable","normal_fixable_unreachable","exploitable_likelihood"],"type":"object"},"ProvisioningResultServiceCreateProvisioningResultBody":{"description":"ProvisioningResult represents the versions that are maintained\nby Endor Labs.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProvisioningResultSpec"},"tenant_meta":{"description":"Information about the tenant and namespace of the provisioning result.","title":"Information about the tenant and namespace of the provisioning result.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the provisioning result.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","context","spec"],"type":"object"},"ProvisioningResultServiceUpdateProvisioningResultBody":{"description":"Request to update a provisioning result.","properties":{"object":{"description":"ProvisioningResult represents the versions that are maintained\nby Endor Labs.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProvisioningResultSpec"},"tenant_meta":{"description":"Information about the tenant and namespace of the provisioning result.","title":"Information about the tenant and namespace of the provisioning result.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the provisioning result.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","context","spec"],"type":"object"},"PullRequestSecurityReviewResultInfoChangeDescription":{"description":"ChangeDescription provides a detailed explanation of specific changes made within a file.\nUsed to track and document individual modifications for better understanding of the changes.","properties":{"change_kind":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoChangeKind"},"description":{"title":"Human-readable description of the change","type":"string"},"line":{"format":"int32","title":"Starting line number of the change","type":"integer"},"line_end":{"format":"int32","title":"Ending line number of the change","type":"integer"}},"type":"object"},"PullRequestSecurityReviewResultInfoChangeKind":{"default":"CHANGE_KIND_UNSPECIFIED","description":"ChangeKind indicates the type of modification made to a code element (file, function, or snippet)\nwithin the pull request. This helps track whether items are newly added, modified, or removed.\n\n - CHANGE_KIND_UNSPECIFIED: Default state when the change type is unknown\n - CHANGE_KIND_NEW: Indicates a newly added element\n - CHANGE_KIND_MODIFIED: Indicates an existing element that was modified\n - CHANGE_KIND_REMOVED: Indicates an element that was removed","enum":["CHANGE_KIND_UNSPECIFIED","CHANGE_KIND_NEW","CHANGE_KIND_MODIFIED","CHANGE_KIND_REMOVED"],"type":"string"},"PullRequestSecurityReviewResultInfoCodeSnippet":{"description":"CodeSnippet represents a specific portion of code that has security implications.\nThis could be sensitive operations, security controls, or potential vulnerabilities.","properties":{"change_kind":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoChangeKind"},"description":{"title":"Description of what the code snippet does","type":"string"},"file":{"title":"File path where the snippet is located","type":"string"},"impact":{"title":"Security impact or implications of this code","type":"string"},"language":{"title":"Code language of the snippet","type":"string"},"line":{"format":"int32","title":"Starting line number of the snippet","type":"integer"},"line_end":{"format":"int32","title":"Ending line number of the snippet","type":"integer"},"snippet":{"title":"The actual code content of the snippet","type":"string"}},"required":["file","line"],"type":"object"},"PullRequestSecurityReviewResultInfoFileChanges":{"description":"FileChanges tracks all modifications made to a specific file in the pull request.\nProvides a comprehensive view of how a file was changed and its security implications.","properties":{"added_lines":{"format":"int32","title":"Number of lines added to the file","type":"integer"},"change_kind":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoChangeKind"},"changed_functions":{"items":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityRelevantFunction"},"title":"List of security-relevant functions affected","type":"array"},"code_change_description":{"items":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoChangeDescription"},"title":"Detailed descriptions of individual changes","type":"array"},"path":{"title":"Path to the modified file","type":"string"},"purpose":{"title":"Overall purpose or role of the file","type":"string"},"removed_lines":{"format":"int32","title":"Number of lines removed from the file","type":"integer"}},"type":"object"},"PullRequestSecurityReviewResultInfoSecurityAspectMetric":{"description":"SecurityAspectMetric represents a specific security concern or aspect identified during review.\nUsed to quantify and qualify various security characteristics of the changes.","properties":{"category":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityReviewCategory"},"confidence_justification":{"title":"Explanation of the confidence score","type":"string"},"confidence_level":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityReviewConfidenceLevel"},"description":{"title":"Detailed description of the security concern","type":"string"},"justification":{"title":"Reasoning behind the security assessment","type":"string"},"security_impact":{"$ref":"#/components/schemas/SecurityAspectMetricSecurityImpactType"},"severity_level":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecuritySeverityLevel"},"snippets":{"items":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoCodeSnippet"},"title":"Code snippets related to this security aspect","type":"array"},"title":{"title":"Short title describing the security aspect","type":"string"}},"required":["category","title","severity_level","confidence_level"],"type":"object"},"PullRequestSecurityReviewResultInfoSecurityRelevantFunction":{"description":"SecurityRelevantFunction represents a function or method that performs security-sensitive operations.\nor requires special security consideration during review.","properties":{"change_kind":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoChangeKind"},"description":{"title":"Description of the function's purpose","type":"string"},"name":{"title":"Name of the function","type":"string"},"security_labels":{"items":{"type":"string"},"title":"Security classification or sensitivity level of the function","type":"array"}},"type":"object"},"PullRequestSecurityReviewResultInfoSecurityReviewCategory":{"default":"SECURITY_REVIEW_CATEGORY_UNSPECIFIED","description":"SecurityCategory represents the different categories of security aspects that can be evaluated.\n\n - SECURITY_REVIEW_CATEGORY_UNSPECIFIED: Default when category is unknown\n - SECURITY_REVIEW_CATEGORY_DEPENDENCY: Integration of external code, packages, and frameworks\n - SECURITY_REVIEW_CATEGORY_ACCESS_CONTROL: Authentication, authorization mechanisms and session management\n - SECURITY_REVIEW_CATEGORY_API_ENDPOINT: API and service entry points\n - SECURITY_REVIEW_CATEGORY_DATABASE: Database architecture and security\n - SECURITY_REVIEW_CATEGORY_CRYPTOGRAPHIC: Cryptographic systems and implementations\n - SECURITY_REVIEW_CATEGORY_PAYMENT_PROCESSING: Payment processing and financial systems\n - SECURITY_REVIEW_CATEGORY_MEMORY_PROTECTION: Memory management and protection\n - SECURITY_REVIEW_CATEGORY_PII_DATA_HANDLING: Processing of PII and sensitive information\n - SECURITY_REVIEW_CATEGORY_INPUT_VALIDATION: Input validation and processing security\n - SECURITY_REVIEW_CATEGORY_INFRASTRUCTURE: Infrastructure security\n - SECURITY_REVIEW_CATEGORY_CI_CD: CI/CD pipeline security\n - SECURITY_REVIEW_CATEGORY_CONFIGURATION: Application and infrastructure configuration\n - SECURITY_REVIEW_CATEGORY_NETWORK: Network security and communication protocols\n - SECURITY_REVIEW_CATEGORY_AI: AI/LLM integration security\n - SECURITY_REVIEW_CATEGORY_IMPROVEMENT: Improvement to the security posture\n - SECURITY_REVIEW_CATEGORY_VULNERABILITY: Vulnerability found in the code\n - SECURITY_REVIEW_CATEGORY_BUG: Bug found in the code","enum":["SECURITY_REVIEW_CATEGORY_UNSPECIFIED","SECURITY_REVIEW_CATEGORY_DEPENDENCY","SECURITY_REVIEW_CATEGORY_ACCESS_CONTROL","SECURITY_REVIEW_CATEGORY_API_ENDPOINT","SECURITY_REVIEW_CATEGORY_DATABASE","SECURITY_REVIEW_CATEGORY_CRYPTOGRAPHIC","SECURITY_REVIEW_CATEGORY_PAYMENT_PROCESSING","SECURITY_REVIEW_CATEGORY_MEMORY_PROTECTION","SECURITY_REVIEW_CATEGORY_PII_DATA_HANDLING","SECURITY_REVIEW_CATEGORY_INPUT_VALIDATION","SECURITY_REVIEW_CATEGORY_INFRASTRUCTURE","SECURITY_REVIEW_CATEGORY_CI_CD","SECURITY_REVIEW_CATEGORY_CONFIGURATION","SECURITY_REVIEW_CATEGORY_NETWORK","SECURITY_REVIEW_CATEGORY_AI","SECURITY_REVIEW_CATEGORY_IMPROVEMENT","SECURITY_REVIEW_CATEGORY_VULNERABILITY","SECURITY_REVIEW_CATEGORY_BUG"],"type":"string"},"PullRequestSecurityReviewResultInfoSecurityReviewConfidenceLevel":{"default":"SECURITY_REVIEW_CONFIDENCE_LEVEL_UNSPECIFIED","description":"SecurityReviewConfidenceLevel represents the confidence level in the security assessment.\n\n - SECURITY_REVIEW_CONFIDENCE_LEVEL_UNSPECIFIED: Default confidence level when confidence is unknown\n - SECURITY_REVIEW_CONFIDENCE_LEVEL_LOW: Low confidence level\n - SECURITY_REVIEW_CONFIDENCE_LEVEL_MEDIUM: Medium confidence level\n - SECURITY_REVIEW_CONFIDENCE_LEVEL_HIGH: High confidence level","enum":["SECURITY_REVIEW_CONFIDENCE_LEVEL_UNSPECIFIED","SECURITY_REVIEW_CONFIDENCE_LEVEL_LOW","SECURITY_REVIEW_CONFIDENCE_LEVEL_MEDIUM","SECURITY_REVIEW_CONFIDENCE_LEVEL_HIGH"],"type":"string"},"PullRequestSecurityReviewResultInfoSecuritySeverityLevel":{"default":"SECURITY_SEVERITY_LEVEL_UNSPECIFIED","description":"Level represents the severity or importance level of a security aspect or finding\nUsed to prioritize security concerns and determine the urgency of required actions.\n\n - SECURITY_SEVERITY_LEVEL_UNSPECIFIED: Default level when severity is unknown\n - SECURITY_SEVERITY_LEVEL_LOW: Minor security concerns with minimal impact\n - SECURITY_SEVERITY_LEVEL_MEDIUM: Moderate security concerns that should be addressed\n - SECURITY_SEVERITY_LEVEL_HIGH: Significant security concerns requiring prompt attention\n - SECURITY_SEVERITY_LEVEL_CRITICAL: Critical security issues that need immediate remediation","enum":["SECURITY_SEVERITY_LEVEL_UNSPECIFIED","SECURITY_SEVERITY_LEVEL_LOW","SECURITY_SEVERITY_LEVEL_MEDIUM","SECURITY_SEVERITY_LEVEL_HIGH","SECURITY_SEVERITY_LEVEL_CRITICAL"],"type":"string"},"QueryIntegrationResourceCredentialSourceInlineCredentials":{"description":"InlineCredentials carries raw, per-call credentials for the host and one authentication mode.","properties":{"host_url":{"description":"The provider host (e.g. https://dev.azure.com/myorg).","type":"string"},"pat":{"$ref":"#/components/schemas/QueryIntegrationResourceCredentialSourcePatAuth"}},"required":["host_url"],"type":"object"},"QueryIntegrationResourceCredentialSourcePatAuth":{"description":"PatAuth authenticates with a personal access token.","properties":{"token":{"description":"Write-only PAT; never echoed back in responses.","type":"string"}},"required":["token"],"type":"object"},"QueryIntegrationResourceServiceCreateQueryIntegrationResourceBody":{"description":"QueryIntegrationResource brokers a synchronous, read-only lookup against a\nthird-party provider (Azure DevOps Boards, Jira, ...) so the frontend can\nprefill guided setup dropdowns. A query-as-resource: it persists nothing.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1QueryIntegrationResourceSpec"},"tenant_meta":{"description":"Associates the query with a tenant; drives namespace-scoped authorization.","title":"Associates the query with a tenant; drives namespace-scoped authorization.","type":"object"},"uuid":{"description":"Server-assigned query id.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"QueryJoinFilters":{"properties":{"filter":{"type":"string"},"kind":{"type":"string"}},"required":["kind"],"type":"object"},"QueryMalwareServiceCreateQueryMalwareBody":{"description":"QueryMalware is used to do query request on malware that are\nnot supported by ListMalware and the filter. For instance, you must\nuse this method to get a list of malware based on a version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ListMalwareResponse"},"responses":{"$ref":"#/components/schemas/v1QueryMalwareResponseMap"},"spec":{"$ref":"#/components/schemas/v1QueryMalwareSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"QueryQuerySpec":{"properties":{"kind":{"description":"The parent object kind of the metric.","type":"string"},"list_parameters":{"$ref":"#/components/schemas/v1ListParameters"},"references":{"items":{"$ref":"#/components/schemas/v1QueryReference"},"type":"array"},"return_as":{"description":"Determines the alias name for reference\nthat should be returned. If not specified,\nthe value of kind is used.\nThis field can be used to query a same kind\nseveral times. For instance, you can use this field to\nlist and do a count on a same kind.","type":"string"},"with":{"description":"A list of join filters that identify the kind + filter\nof the other collections that should be joined.\nFor example, if we are looking for projects\nthat are also have repositories with specific attributes, we can\nuse\n\"with\" : [{\n   \"Kind\" : \"Repository\",\n   \"Filter\" : \"filter for the repository\",\n}]\nWith is only available for the PackageVersion and Project resource kinds\nat this time.","items":{"$ref":"#/components/schemas/QueryJoinFilters"},"type":"array"}},"required":["kind"],"type":"object"},"QueryServiceCreateQueryBody":{"description":"Query implements the metric query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1QuerySpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"QuerySimilarPackagesQueryResponse":{"properties":{"age":{"format":"int64","type":"string"},"dependents_count":{"format":"int64","type":"string"},"edit_distance":{"format":"int64","type":"string"},"jaccard_distance":{"format":"float","type":"number"},"name":{"type":"string"}},"type":"object"},"QuerySimilarPackagesServiceCreateQuerySimilarPackagesBody":{"description":"QuerySimilarPackages implements the similar packages query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"query_response":{"description":"Aggregates the results of the query.","items":{"$ref":"#/components/schemas/QuerySimilarPackagesQueryResponse"},"readOnly":true,"type":"array"},"spec":{"$ref":"#/components/schemas/v1QuerySimilarPackagesSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"QueryVulnerabilityServiceCreateQueryVulnerabilityBody":{"description":"QueryVulnerability is used to do query request on vulnerabilities that are\nnot supported by ListVulnerabilities and the filter. For instance, you must\nuse this method to get a list of vulnerabilities based on a version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ListVulnerabilitiesResponse"},"responses":{"$ref":"#/components/schemas/v1QueryVulnerabilityResponseMap"},"spec":{"$ref":"#/components/schemas/v1QueryVulnerabilitySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"QueryVulnerabilityVulnerabilityNameQuery":{"properties":{"name":{"type":"string"}},"type":"object"},"RangeRangeType":{"default":"RANGE_TYPE_UNSPECIFIED","description":"Type of the version information.","enum":["RANGE_TYPE_UNSPECIFIED","RANGE_TYPE_GIT","RANGE_TYPE_SEMVER","RANGE_TYPE_ECOSYSTEM"],"type":"string"},"ReferenceReferenceType":{"default":"REFERENCE_TYPE_UNSPECIFIED","enum":["REFERENCE_TYPE_UNSPECIFIED","REFERENCE_TYPE_WEB","REFERENCE_TYPE_ADVISORY","REFERENCE_TYPE_REPORT","REFERENCE_TYPE_FIX","REFERENCE_TYPE_PACKAGE","REFERENCE_TYPE_ARTICLE"],"type":"string"},"RegistryIngestionCheckpointServiceCreateRegistryIngestionCheckpointBody":{"description":"RegistryIngestionCheckpoint represents ingestion progress checkpoints per ecosystem/registry.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpointSpec"},"tenant_meta":{"description":"RegistryIngestionCheckpoint is associated with a tenant and namespace.","title":"RegistryIngestionCheckpoint is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the registry ingestion checkpoint.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"RegistryIngestionCheckpointServiceUpdateRegistryIngestionCheckpointBody":{"description":"Request to update a registry ingestion checkpoint.","properties":{"object":{"description":"RegistryIngestionCheckpoint represents ingestion progress checkpoints per ecosystem/registry.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpointSpec"},"tenant_meta":{"description":"RegistryIngestionCheckpoint is associated with a tenant and namespace.","title":"RegistryIngestionCheckpoint is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the registry ingestion checkpoint.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"RemediationParametersAutomatedPRParameters":{"description":"AutomatedPRParameters holds the settings for automated PRs.","properties":{"language_parameters":{"additionalProperties":{"$ref":"#/components/schemas/AutomatedPRParametersLanguageParameters"},"description":"Language-specific parameters for the pull request.","type":"object"},"max_open_prs":{"description":"Maximum number of open pull requests allowed.","format":"int32","type":"integer"}},"type":"object"},"RepositoryBranchProtectionServiceCreateRepositoryBranchProtectionBody":{"description":"Branch protection information of a single branch.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryBranchProtectionSpec"},"tenant_meta":{"description":"Repository branch protections are associated with a tenant.","title":"Repository branch protections are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository branch protection.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryBranchProtectionServiceUpdateRepositoryBranchProtectionBody":{"description":"Request used to update repository branch protection.","properties":{"object":{"description":"Branch protection information of a single branch.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryBranchProtectionSpec"},"tenant_meta":{"description":"Repository branch protections are associated with a tenant.","title":"Repository branch protections are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository branch protection.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCheckRunServiceCreateRepositoryCheckRunBody":{"description":"RepositoryCheckRun represents the information about a repository check run.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCheckRunSpec"},"tenant_meta":{"description":"Repository check runs are associated with a tenant.\nPublic repository check runs are formed under a public tenant.","title":"Repository check runs are associated with a tenant.\nPublic repository check runs are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the repository check run.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCheckRunServiceUpdateRepositoryCheckRunBody":{"description":"Request to update a repository check run.","properties":{"object":{"description":"RepositoryCheckRun represents the information about a repository check run.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCheckRunSpec"},"tenant_meta":{"description":"Repository check runs are associated with a tenant.\nPublic repository check runs are formed under a public tenant.","title":"Repository check runs are associated with a tenant.\nPublic repository check runs are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the repository check run.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCodeownersFileServiceCreateRepositoryCodeownersFileBody":{"description":"The information about a repository's codeowners file.\nIt does not contain the actual file contents.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCodeownersFileSpec"},"tenant_meta":{"description":"Metadata required for the tenant.","title":"Metadata required for the tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's codeowners file information.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCodeownersFileServiceUpdateRepositoryCodeownersFileBody":{"description":"Request to update repository's code owners file information.","properties":{"object":{"description":"The information about a repository's codeowners file.\nIt does not contain the actual file contents.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCodeownersFileSpec"},"tenant_meta":{"description":"Metadata required for the tenant.","title":"Metadata required for the tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's codeowners file information.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCollaboratorsServiceCreateRepositoryCollaboratorsBody":{"description":"The ingested information about a repository's collaborators.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCollaboratorsSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"The UUID fir repository's collaborators information.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCollaboratorsServiceUpdateRepositoryCollaboratorsBody":{"description":"Request to update repository's collaborators information.","properties":{"object":{"description":"The ingested information about a repository's collaborators.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCollaboratorsSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"The UUID fir repository's collaborators information.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCommitServiceCreateRepositoryCommitBody":{"description":"Represents the ingested information about a repository commit.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCommitSpec"},"tenant_meta":{"description":"Repository commits are associated with a tenant.\nPublic repository commits are formed under a public tenant.","title":"Repository commits are associated with a tenant.\nPublic repository commits are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the repository commit.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryCommitServiceUpdateRepositoryCommitBody":{"description":"Request to update a repository commit.","properties":{"object":{"description":"Represents the ingested information about a repository commit.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCommitSpec"},"tenant_meta":{"description":"Repository commits are associated with a tenant.\nPublic repository commits are formed under a public tenant.","title":"Repository commits are associated with a tenant.\nPublic repository commits are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the repository commit.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryDeploymentEnvConfigServiceCreateRepositoryDeploymentEnvConfigBody":{"description":"The ingested information about a repository's deployment environment configurations.\nhttps://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#list-environments.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfigSpec"},"tenant_meta":{"description":"Repository's deployment environment configurations are associated with a tenant.","title":"Repository's deployment environment configurations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's deployment environment configuration.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryDeploymentEnvConfigServiceUpdateRepositoryDeploymentEnvConfigBody":{"description":"Request to update the the repository's deployment environment configuration.","properties":{"object":{"description":"The ingested information about a repository's deployment environment configurations.\nhttps://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#list-environments.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfigSpec"},"tenant_meta":{"description":"Repository's deployment environment configurations are associated with a tenant.","title":"Repository's deployment environment configurations are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's deployment environment configuration.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryHookServiceCreateRepositoryHookBody":{"description":"The information about hooks created for a repository.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryHookSpec"},"tenant_meta":{"description":"Repository hooks are associated with a  tenant.\nPublic repository hooks are formed under a public tenant.","title":"Repository hooks are associated with a  tenant.\nPublic repository hooks are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the for the repository hook.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryHookServiceUpdateRepositoryHookBody":{"description":"Request to update a repository hook.","properties":{"object":{"description":"The information about hooks created for a repository.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryHookSpec"},"tenant_meta":{"description":"Repository hooks are associated with a  tenant.\nPublic repository hooks are formed under a public tenant.","title":"Repository hooks are associated with a  tenant.\nPublic repository hooks are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the for the repository hook.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryIssueServiceCreateRepositoryIssueBody":{"description":"The ingested information about a repository issue.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryIssueSpec"},"tenant_meta":{"description":"Repository issues are associated with a tenant.\nPublic repository issues are formed under a public tenant.","title":"Repository issues are associated with a tenant.\nPublic repository issues are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository issue.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryIssueServiceUpdateRepositoryIssueBody":{"description":"Request to update a repository issue.","properties":{"object":{"description":"The ingested information about a repository issue.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryIssueSpec"},"tenant_meta":{"description":"Repository issues are associated with a tenant.\nPublic repository issues are formed under a public tenant.","title":"Repository issues are associated with a tenant.\nPublic repository issues are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository issue.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryPullRequestServiceCreateRepositoryPullRequestBody":{"description":"The ingested information about a repository pull request.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryPullRequestSpec"},"tenant_meta":{"description":"Repository pull request are associated with a tenant.\nPublic repository pull requests are formed under a public tenant.","title":"Repository pull request are associated with a tenant.\nPublic repository pull requests are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository pull request.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryPullRequestServiceUpdateRepositoryPullRequestBody":{"description":"Request to update a repository pull request.","properties":{"object":{"description":"The ingested information about a repository pull request.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryPullRequestSpec"},"tenant_meta":{"description":"Repository pull request are associated with a tenant.\nPublic repository pull requests are formed under a public tenant.","title":"Repository pull request are associated with a tenant.\nPublic repository pull requests are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository pull request.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryReleaseServiceCreateRepositoryReleaseBody":{"description":"The ingested information about a repository release.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryReleaseSpec"},"tenant_meta":{"description":"Repository releases are associated with a tenant.\nPublic repository releases are formed under a public tenant.","title":"Repository releases are associated with a tenant.\nPublic repository releases are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository release.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryReleaseServiceUpdateRepositoryReleaseBody":{"description":"Request to update a repository release.","properties":{"object":{"description":"The ingested information about a repository release.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryReleaseSpec"},"tenant_meta":{"description":"Repository releases are associated with a tenant.\nPublic repository releases are formed under a public tenant.","title":"Repository releases are associated with a tenant.\nPublic repository releases are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository release.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryScanMetadataServiceCreateRepositoryScanMetadataBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryScanMetadataSpec"},"tenant_meta":{"description":"Metrics are associated with a tenant and the tenant information must be provided.","title":"Metrics are associated with a tenant and the tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the repository scan metadata.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"RepositoryScanMetadataServiceUpdateRepositoryScanMetadataBody":{"description":"Request to update a scan metadata.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryScanMetadataSpec"},"tenant_meta":{"description":"Metrics are associated with a tenant and the tenant information must be provided.","title":"Metrics are associated with a tenant and the tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the repository scan metadata.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"RepositoryScanMetadataSpecVersionMetadata":{"properties":{"hashes":{"items":{"type":"string"},"type":"array"},"total_commits":{"format":"int32","type":"integer"}},"type":"object"},"RepositoryServiceCreateRepositoryBody":{"description":"Repository represents the ingested information about a source control repository.\nA repository may refer to any type of source control repository, such as GitLab or GitHub.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositorySpec"},"tenant_meta":{"description":"Repositories are associated with a tenant.\nPublic repositories are created as repositories under a public tenant.","title":"Repositories are associated with a tenant.\nPublic repositories are created as repositories under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the source control repository.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryServiceUpdateRepositoryBody":{"description":"Request to update the repository.","properties":{"object":{"description":"Repository represents the ingested information about a source control repository.\nA repository may refer to any type of source control repository, such as GitLab or GitHub.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositorySpec"},"tenant_meta":{"description":"Repositories are associated with a tenant.\nPublic repositories are created as repositories under a public tenant.","title":"Repositories are associated with a tenant.\nPublic repositories are created as repositories under a public tenant.","type":"object"},"uuid":{"description":"The UUID of the source control repository.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryStatusServiceCreateRepositoryStatusBody":{"description":"The ingested information about a repository status.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryStatusSpec"},"tenant_meta":{"description":"Repository status are associated with a tenant.\nPublic repository statuses are formed under a public tenant.","title":"Repository status are associated with a tenant.\nPublic repository statuses are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository status.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryStatusServiceUpdateRepositoryStatusBody":{"description":"Request to update the repository status.","properties":{"object":{"description":"The ingested information about a repository status.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryStatusSpec"},"tenant_meta":{"description":"Repository status are associated with a tenant.\nPublic repository statuses are formed under a public tenant.","title":"Repository status are associated with a tenant.\nPublic repository statuses are formed under a public tenant.","type":"object"},"uuid":{"description":"The UUID of a repository status.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryTagProtectionServiceCreateRepositoryTagProtectionBody":{"description":"The repository's tag protections.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryTagProtectionSpec"},"tenant_meta":{"description":"Repository's tag protections are associated with a tenant.","title":"Repository's tag protections are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's tag protection.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryTagProtectionServiceUpdateRepositoryTagProtectionBody":{"description":"Request to update a repository's tag protection.","properties":{"object":{"description":"The repository's tag protections.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryTagProtectionSpec"},"tenant_meta":{"description":"Repository's tag protections are associated with a tenant.","title":"Repository's tag protections are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository's tag protection.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","ingested_object"],"type":"object"},"RepositoryVersionScanObject":{"properties":{"aisast_status":{"$ref":"#/components/schemas/ScanObjectAISASTStatus"},"endor_ignore_file_hash_map":{"additionalProperties":{"type":"string"},"description":"The SHA1 hash of the ignore file(s) in the repository version,\nindexed by file name.\nUsed to track changes to the ignore file between scans.","type":"object"},"scan_time":{"description":"The time at which this repository version was scanned.","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/RepositoryVersionScanObjectStatus"}},"required":["status"],"type":"object"},"RepositoryVersionScanObjectStatus":{"default":"STATUS_UNSPECIFIED","description":"Indicates the status of an Endor Labs scan.","enum":["STATUS_UNSPECIFIED","STATUS_SCANNED","STATUS_NOT_SCANNED"],"type":"string"},"RepositoryVersionServiceCreateRepositoryVersionBody":{"description":"The ingested information about a repository version.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"scan_object":{"$ref":"#/components/schemas/RepositoryVersionScanObject"},"spec":{"$ref":"#/components/schemas/v1RepositoryVersionSpec"},"tenant_meta":{"description":"Repository versions are associated with a tenant.","title":"Repository versions are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository version.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"RepositoryVersionServiceUpdateRepositoryVersionBody":{"description":"Request to update the repository version.","properties":{"object":{"description":"The ingested information about a repository version.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"scan_object":{"$ref":"#/components/schemas/RepositoryVersionScanObject"},"spec":{"$ref":"#/components/schemas/v1RepositoryVersionSpec"},"tenant_meta":{"description":"Repository versions are associated with a tenant.","title":"Repository versions are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the repository version.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"RequestAssuredPackageVersionServiceCreateRequestAssuredPackageVersionBody":{"description":"RequestAssuredPackageVersion is a request to have an assured package version patchd..","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersionSpec"},"tenant_meta":{"description":"Git repositories are associated with a tenant.","title":"Git repositories are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the requested assured package version.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"RequestAssuredPackageVersionServiceUpdateRequestAssuredPackageVersionBody":{"description":"Request to update the request assured package version.","properties":{"object":{"description":"RequestAssuredPackageVersion is a request to have an assured package version patchd..","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersionSpec"},"tenant_meta":{"description":"Git repositories are associated with a tenant.","title":"Git repositories are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the requested assured package version.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"RequestAssuredPackageVersionSpecState":{"properties":{"comments":{"items":{"$ref":"#/components/schemas/StateComment"},"type":"array"},"status":{"$ref":"#/components/schemas/SpecStateStatus"}},"required":["status"],"type":"object"},"RequestFindingSeverity":{"default":"FINDING_SEVERITY_UNSPECIFIED","description":" - FINDING_SEVERITY_UNSPECIFIED: Default unspecified severity.\n - FINDING_SEVERITY_CRITICAL: Critical finding.\n - FINDING_SEVERITY_HIGH: Very important findings.\n - FINDING_SEVERITY_MEDIUM: Important findings.\n - FINDING_SEVERITY_LOW: Low priority finding.","enum":["FINDING_SEVERITY_UNSPECIFIED","FINDING_SEVERITY_CRITICAL","FINDING_SEVERITY_HIGH","FINDING_SEVERITY_MEDIUM","FINDING_SEVERITY_LOW"],"type":"string"},"ResolutionStatusErrorAnalysis":{"description":"ErrorAnalysis is the analysis of the error based on the error parsing\nrules.","properties":{"error_category":{"$ref":"#/components/schemas/SpecErrorCategory"},"explanation":{"description":"Explanation of the error based on the error parsing rules.","type":"string"},"fixable":{"description":"Fixable indicates if the error is fixable through configuration.","type":"boolean"},"fixable_notes":{"description":"notes about the fixable status.","type":"string"},"matching_rule":{"description":"matching_rule is the rule that matched the error.","type":"string"},"matching_snippet":{"description":"matching_snippet is the snippet of the error that matched the rule.","type":"string"}},"type":"object"},"ResolutionStatusStatusError":{"default":"STATUS_ERROR_UNSPECIFIED","description":"StatusError is the type of issue discovered.\n\n - STATUS_ERROR_MANIFEST_LOAD: MANIFEST_LOAD indicates that the system is unable to find the manifest of\nthe language (pom.xml, packages.json, etc). This status error is only\nused for unresolved dependencies.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will not be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The callgraph will not be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version is marked as failed and\nendorctl will log an error.\n\nFor OSS packages:\nWhen it happens and if the package version is in the OSS namespace, the\npackage version will not be scanned anymore. When it happens, the scan of\nthe package version is marked as failed and endorctl will log an error.\n - STATUS_ERROR_MANIFEST_PARSE: MANIFEST_PARSE indicates that the system failed to parse the manifest.\nThis status error is only used for unresolved dependencies.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will not be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The callgraph will be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version is marked as failed and\nendorctl will log an error.\n\nFor OSS packages:\nWhen it happens and if the package version is in the OSS namespace, the\npackage version will not be scanned anymore. When it happens, the scan of\nthe package version is marked as failed and endorctl will log an error.\n - STATUS_ERROR_MANIFEST_EMPTY: MANIFEST_EMPTY indicates that the system failed to find\nany dependencies and is returning empty results on purpose.\nDEPRECATED: use STATUS_ERROR_MANIFEST_PARSE instead.\n - STATUS_ERROR_DEPENDENCY: DEPENDENCY indicates that the system failed to resolve a dependency.\nUsually this happens when a manifest contains bad associations of\ndependencies and versions. This status error is only used for resolved\ndependencies.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The callgraph will be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version is marked as failed and\nendorctl will log an error.\n\nFor OSS packages:\nWhen it happens and if the package version is in the OSS namespace, the\npackage version will not be scanned anymore. When it happens, the scan of\nthe package version is marked as failed and endorctl will log an error.\n - STATUS_ERROR_CALL_GRAPH: CALL_GRAPH indicates that the system failed to construct the call graph.\nThis status error is only used for callgraph computation.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will be computed by the system.\n- The resolved dependencies will be computed by the system.\n- The callgraph will not be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version will not be marked as\nfailed, only a warning log will be emitted by the system.\n\nFor OSS packages:\nWhen it happens, the scan of the package version will not be marked as\nfailed, only a warning log will be emitted by the system.\n - STATUS_ERROR_MISSING_ARTIFACT: MISSING_ARTIFACT indicates that the system failed to compute the\ncallgraph because the package is not built. This status error is only\nused for callgraph computation.\n\nFor OSS packages:\nWhen it happens, the system will try to build the package and the\ncomputation of the callgraph will be launched again.\n\nIt should be noted that we should never have this state set in a package\nversion. This is a transient state only used by the system. This state\ncan not happen for tenant packages, we always expect that tenant packages\nwill be built for us.\n - STATUS_ERROR_BUILD: BUILD indicates that the plugin failed to build the package version.\nThis status error is only used for unresolved dependencies.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will not be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The callgraph will not be computed by the system.\n\nFor OSS packages:\nWhen it happens and if the package version is in the OSS namespace, the\npackage version will not be scanned anymore. When it happens, the scan of\nthe package version is marked as failed and endorctl will log an error.\n\nIt should be noted that this state can not happen for tenant packages, we\nalways expect that tenant packages will be built for us.\n - STATUS_ERROR_PACKAGE_VERSION_UNAVAILABLE: PACKAGE_VERSION_UNAVAILABLE indicates that the package version is not\navailable from the package manager. This status error is only used for\nunresolved dependencies.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will not be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The callgraph will not be computed by the system.\n\nFor OSS packages::\nWhen it happens and if the package version is in the OSS namespace, the\npackage version will not be scanned anymore. When it happens, the scan of\nthe package version is marked as failed and endorctl will log an error.\n\nIt should be noted that this state can not happen for tenant packages,\nfor tenant we scan based on the source code and we never download a\npackage from a package manager.\n - STATUS_ERROR_NO_CODE_ARTIFACT: NO_CODE_ARTIFACT indicates that package version do not have any source\ncode. The status error is only used for call graphs.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will be computed by the system.\n- The resolved dependencies will be computed by the system.\n- The call graph will not be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version will not be marked as a\ncall graph failure, only a warning log will be emitted by the system.\n\nFor OSS packages:\nWhen it happens, the scan of the package version will not be marked as a\ncall graph failure, only a warning log will be emitted by the system.\n - STATUS_ERROR_VENV: STATUS_ERROR_VENV indicates that the system failed to create the virtual\nenvironment required to generate the call graph.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will be computed by the system.\n- The resolved dependencies will be computed by the system.\n- The call graph will not be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version will be not be marked as\na call graph failure. This indicates that the client code was not setup\ncorrectly.\n\nFor OSS packages:\nWhen it happens, the scan of the package version will not be marked as a\ncall graph failure, only a warning log will be emitted by the system.\n - STATUS_ERROR_INTERNAL: STATUS_ERROR_INTERNAL indicates that there was an internal system failure\nsuch as a data stream error.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will be computed by the system.\n- The resolved dependencies will be computed by the system.\n- The call graph will not be computed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version will be not be marked as\na call graph failure.\n\nFor OSS packages:\nWhen it happens, the scan of the package version will not be marked as a\ncall graph failure, only a warning log will be emitted by the system.\n - STATUS_ERROR_UNSUPPORTED: STATUS_ERROR_UNSUPPORTED indicates that we scanned a package version\nhaving an unsupported language.\n\nWhen it happens, the state of the package version will be as follows:\n- The unresolved dependencies will not be computed by the system.\n- The resolved dependencies will not be computed by the system.\n- The call graph will not not becomputed by the system.\n\nFor tenant packages:\nWhen it happens, the scan of the package version is marked as\nunsupported.\n\nFor OSS packages:\nWhen it happens, the scan of the package version is marked as\nunsupported.","enum":["STATUS_ERROR_UNSPECIFIED","STATUS_ERROR_MANIFEST_LOAD","STATUS_ERROR_MANIFEST_PARSE","STATUS_ERROR_MANIFEST_EMPTY","STATUS_ERROR_DEPENDENCY","STATUS_ERROR_CALL_GRAPH","STATUS_ERROR_MISSING_ARTIFACT","STATUS_ERROR_BUILD","STATUS_ERROR_PACKAGE_VERSION_UNAVAILABLE","STATUS_ERROR_NO_CODE_ARTIFACT","STATUS_ERROR_VENV","STATUS_ERROR_INTERNAL","STATUS_ERROR_UNSUPPORTED"],"type":"string"},"ResponseCounts":{"description":"Definitely and potentially affected counts.","properties":{"definitely_affected":{"description":"Definitely affected count.","format":"int32","type":"integer"},"potentially_affected":{"description":"Potentially affected count.","format":"int32","type":"integer"}},"type":"object"},"ResponseDiffFindingRecordSet":{"description":"One bucket's top changed findings (of the requested record_scope),\nwith fixed, introduced, and common kept as separate lists plus their\nfull totals.","properties":{"common":{"description":"Top findings present on both sides, unaffected by the diff. Taken\nfrom the target side, since those are the finding UUIDs the caller\ncan act on (e.g. suppress). Capped at max_top_records_per_bucket.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"common_num_results":{"description":"Total number of common findings in this bucket (may exceed\nlen(common) when capped).","format":"int32","readOnly":true,"type":"integer"},"fixed":{"description":"Top findings fixed relative to baseline (present on the baseline,\ngone on the target), capped at max_top_records_per_bucket.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"fixed_num_results":{"description":"Total number of fixed findings in this bucket (may exceed\nlen(fixed) when capped).","format":"int32","readOnly":true,"type":"integer"},"introduced":{"description":"Top findings introduced relative to baseline (absent on the\nbaseline, present on the target), capped at\nmax_top_records_per_bucket.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"introduced_num_results":{"description":"Total number of introduced findings in this bucket (may exceed\nlen(introduced) when capped).","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"ResponseDiffReachabilityCounts":{"description":"Finding counts bucketed by reachability. Each bucket is a severity\nbreakdown. Reachability is projected from the target scan. The\noverall total lives on the sibling DiffSeverityCounts field, so there is\nno total bucket here.","properties":{"potentially_reachable":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"reachable":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"unreachable":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"}},"type":"object"},"ResponseDiffSeverityCounts":{"description":"Aggregate finding counts broken out by severity. A feature-local twin\nof ContainerBaseImageUpdateImpactQuery.Spec.Response.SeverityCounts:\nthat message is nested under a sibling query's Response and\nreferencing it here would read wrong; promoting it to top level would\nrequire renaming the existing message, which is breaking.","properties":{"critical":{"description":"Number of critical severity findings.","format":"int32","readOnly":true,"type":"integer"},"high":{"description":"Number of high severity findings.","format":"int32","readOnly":true,"type":"integer"},"low":{"description":"Number of low severity findings.","format":"int32","readOnly":true,"type":"integer"},"medium":{"description":"Number of medium severity findings.","format":"int32","readOnly":true,"type":"integer"},"total":{"description":"Total number of findings across all severities.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"ResponseEntryMatchResult":{"description":"EntryMatchResult contains the match outcome for a single document.","properties":{"data_hash":{"description":"data_hash is the SHA256 hash of the document content.\nUsed to identify the representation being checked.","type":"string"},"entry_match_state":{"$ref":"#/components/schemas/SpecEntryMatchState"},"filter":{"description":"filter echoes back the uniqueness fields for correlation.","type":"object"}},"required":["data_hash"],"type":"object"},"ResponseReachabilityCounts":{"description":"Finding counts bucketed by reachability. Each bucket is a severity\nbreakdown. Reachability is projected from the app image scan (see §3).\nThe overall total lives on the sibling SeverityCounts field, so there is\nno total bucket here.","properties":{"potentially_reachable":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"reachable":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"unreachable":{"$ref":"#/components/schemas/ResponseSeverityCounts"}},"type":"object"},"ResponseSeverityCounts":{"description":"Aggregate finding counts broken out by severity. Named distinctly from\nDashboardSummaryQuery.Spec.Response.FindingCounts to avoid a generated\nclient type-name collision (that message keeps the shorter alias).","properties":{"critical":{"description":"Number of critical severity findings.","format":"int32","readOnly":true,"type":"integer"},"high":{"description":"Number of high severity findings.","format":"int32","readOnly":true,"type":"integer"},"low":{"description":"Number of low severity findings.","format":"int32","readOnly":true,"type":"integer"},"medium":{"description":"Number of medium severity findings.","format":"int32","readOnly":true,"type":"integer"},"total":{"description":"Total number of findings across all severities.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"ResponseTopProjects":{"properties":{"by_findings":{"description":"Projects sorted by finding counts.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"},"by_outdated_dependencies":{"description":"Projects sorted by outdated dependency counts.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"},"by_reachable_vulnerabilities":{"description":"Projects sorted by reachable vulnerability counts.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"},"by_unmaintained_dependencies":{"description":"Projects sorted by unmaintained dependency counts.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"},"by_vulnerabilities":{"description":"Projects sorted by vulnerability counts.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"}},"type":"object"},"ResponseUpdateOption":{"description":"Impact of one base image update option.","properties":{"all_changes":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"all_counts":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"all_reachability_changes":{"$ref":"#/components/schemas/ResponseReachabilityCounts"},"all_reachability_counts":{"$ref":"#/components/schemas/ResponseReachabilityCounts"},"digest":{"description":"The candidate base image manifest digest.","readOnly":true,"type":"string"},"name":{"description":"The candidate base image tag this option points to.","readOnly":true,"type":"string"},"package_version_uuid":{"description":"The candidate base image PackageVersion UUID.","readOnly":true,"type":"string"},"reachability_records":{"$ref":"#/components/schemas/ResponseUpdateOptionReachabilityRecords"},"severity_records":{"$ref":"#/components/schemas/ResponseUpdateOptionSeverityRecords"},"status":{"$ref":"#/components/schemas/ResponseUpdateOptionStatus"},"vuln_changes":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"vuln_counts":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"vuln_reachability_changes":{"$ref":"#/components/schemas/ResponseReachabilityCounts"},"vuln_reachability_counts":{"$ref":"#/components/schemas/ResponseReachabilityCounts"}},"type":"object"},"ResponseUpdateOptionReachabilityRecords":{"description":"Top changed findings for one update option, grouped by reachability.","properties":{"potentially_reachable":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"},"reachable":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"},"unreachable":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"}},"type":"object"},"ResponseUpdateOptionSeverityRecords":{"description":"Top changed findings for one update option, grouped by severity.","properties":{"critical":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"},"high":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"},"low":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"},"medium":{"$ref":"#/components/schemas/UpdateOptionFindingRecordSet"}},"type":"object"},"ResponseUpdateOptionStatus":{"default":"STATUS_UNSPECIFIED","description":"Availability of the impact for this update option.\n\n - STATUS_UNSPECIFIED: The status was not set.\n - STATUS_READY: The candidate base was resolved and its impact was computed.\n - STATUS_PENDING: The update option exists but its candidate PackageVersion has not\nbeen scanned yet, so its counts and records are not yet available.","enum":["STATUS_UNSPECIFIED","STATUS_READY","STATUS_PENDING"],"type":"string"},"RootCveCVSSMetric":{"properties":{"cvss_metric_v2":{"items":{"$ref":"#/components/schemas/NVDVulnerabilityCvssMetricV2"},"type":"array"},"cvss_metric_v30":{"items":{"$ref":"#/components/schemas/NVDVulnerabilityCvssMetricV30"},"type":"array"},"cvss_metric_v31":{"items":{"$ref":"#/components/schemas/NVDVulnerabilityCvssMetricV31"},"type":"array"},"cvss_metric_v40":{"items":{"$ref":"#/components/schemas/NVDVulnerabilityCvssMetricV40"},"type":"array"}},"type":"object"},"RootCveConfig":{"properties":{"negate":{"type":"boolean"},"nodes":{"items":{"$ref":"#/components/schemas/ConfigCVSSNode"},"type":"array"},"operator":{"$ref":"#/components/schemas/ConfigOperator"}},"type":"object"},"RootCveLangString":{"properties":{"lang":{"type":"string"},"value":{"type":"string"}},"required":["lang","value"],"type":"object"},"RootCveVendorComment":{"properties":{"comment":{"type":"string"},"last_modified":{"format":"date-time","type":"string"},"organization":{"type":"string"}},"required":["organization","comment","last_modified"],"type":"object"},"RootCveWeakness":{"properties":{"description":{"items":{"$ref":"#/components/schemas/RootCveLangString"},"type":"array"},"source":{"type":"string"},"type":{"type":"string"}},"required":["source","type","description"],"type":"object"},"RuleSetImportServiceCreateRuleSetImportBody":{"description":"ImportedRuleSet represents a request to import a set of rules.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ImportedRuleSetSpec"},"tenant_meta":{"description":"Rule set is associated with a tenant and tenant information must be provided.","title":"Rule set is associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"RuleSetImportServiceUpdateRuleSetImportBody":{"description":"Request to update an object.","properties":{"object":{"description":"ImportedRuleSet represents a request to import a set of rules.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ImportedRuleSetSpec"},"tenant_meta":{"description":"Rule set is associated with a tenant and tenant information must be provided.","title":"Rule set is associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"SBOMExportServiceCreateSBOMExportBody":{"description":"This is the request to the SBOM export API.\nIt consists of the request resource kind.\nThe UUID is the UUID of the resource.\nThe output is the format to export the SBOM.\nThe SBOM kind is the kind of the SBOM requested by the user. Currently we support only CycloneDx.\nThe meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.\nThe Meta parent_uuid corresponds to the parent UUID of the parent kind.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExportedSBOMSpec"},"tenant_meta":{"description":"SBOM are associated with a tenant and tenant information must be provided.","title":"SBOM are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the SBOM.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"SBOMImportServiceCreateSBOMImportBody":{"description":"ImportedSBOM represents an SBOM that has been imported.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ImportedSBOMSpec"},"tenant_meta":{"description":"SBOM are associated with a tenant and tenant information must be provided.","title":"SBOM are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"readOnly":true,"title":"The UUID of the SBOM","type":"string"}},"required":["meta","context"],"type":"object"},"SBOMImportServiceUpdateSBOMImportBody":{"description":"Request to update an SBOM.","properties":{"object":{"description":"ImportedSBOM represents an SBOM that has been imported.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ImportedSBOMSpec"},"tenant_meta":{"description":"SBOM are associated with a tenant and tenant information must be provided.","title":"SBOM are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"readOnly":true,"title":"The UUID of the SBOM","type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"SBOMOrganizationalContactServiceCreateSBOMOrganizationalContactBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SBOMOrganizationalContactSpec"},"tenant_meta":{"description":"SBOM organizational contacts are associated with a tenant and tenant information must be provided.","title":"SBOM organizational contacts are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of an SBOM organizational contact.","readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"SBOMOrganizationalContactServiceUpdateSBOMOrganizationalContactBody":{"description":"Request to update an SBOM organizational contact.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SBOMOrganizationalContactSpec"},"tenant_meta":{"description":"SBOM organizational contacts are associated with a tenant and tenant information must be provided.","title":"SBOM organizational contacts are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of an SBOM organizational contact.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["spec"],"type":"object"},"SCMAppServiceCreateSCMAppBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMAppSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the SCM app.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"SCMAppServiceUpdateSCMAppBody":{"description":"Request to update an SCM app.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMAppSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the SCM app.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta","spec"],"type":"object"},"SCMCredentialServiceCreateSCMCredentialBody":{"description":"SCMCredential represents SCM org/repo credentials for private dependency resolution.\nCustomers configure these credentials to allow endorctl to authenticate with\nprivate Git repositories during agentless or SCM-integrated scans, eliminating\nresolution failures for cross-org private dependencies.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMCredentialSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the SCM credential.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"SCMCredentialServiceUpdateSCMCredentialBody":{"description":"Request to update an SCM credential.","properties":{"object":{"description":"SCMCredential represents SCM org/repo credentials for private dependency resolution.\nCustomers configure these credentials to allow endorctl to authenticate with\nprivate Git repositories during agentless or SCM-integrated scans, eliminating\nresolution failures for cross-org private dependencies.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMCredentialSpec"},"tenant_meta":{"description":"Namespaces are associated with a tenant.","title":"Namespaces are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the SCM credential.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","tenant_meta","spec"],"type":"object"},"SRResponseCategoryInfo":{"properties":{"finding_counts":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"name":{"description":"Category name.","readOnly":true,"type":"string"}},"type":"object"},"SRResponseLanguageInfo":{"properties":{"finding_counts":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"language":{"description":"Programming language.","readOnly":true,"type":"string"}},"type":"object"},"SandboxConfigCustomScriptConfig":{"description":"Message for custom script configuration.","properties":{"exit_code":{"description":"Custom script exit code.","format":"int32","type":"integer"},"stderr":{"description":"Custom script stderr.","type":"string"},"stdout":{"description":"Custom script stdout.","type":"string"},"tool_chains":{"$ref":"#/components/schemas/v1ToolChains"}},"type":"object"},"SandboxConfigSandboxStrategyType":{"default":"SANDBOX_STRATEGY_TYPE_UNSPECIFIED","description":"Sandbox strategy types.","enum":["SANDBOX_STRATEGY_TYPE_UNSPECIFIED","SANDBOX_STRATEGY_TYPE_PROCESSWRAPPER","SANDBOX_STRATEGY_TYPE_LINUX","SANDBOX_STRATEGY_TYPE_DARWIN"],"type":"string"},"SarifLocationPhysicalLocation":{"properties":{"artifact_location":{"$ref":"#/components/schemas/v1SarifArtifactLocation"},"properties":{"description":"Key-value pairs that provide additional information.","type":"object"},"region":{"$ref":"#/components/schemas/v1SarifRegion"}},"type":"object"},"SarifSuppressionKind":{"default":"KIND_UNSPECIFIED","description":" - KIND_IN_SOURCE: Suppression is in the source code.\n - KIND_EXTERNAL: Suppression is external to the source code.","enum":["KIND_UNSPECIFIED","KIND_IN_SOURCE","KIND_EXTERNAL"],"type":"string"},"SarifThreadFlowLocationImportance":{"default":"IMPORTANCE_UNSPECIFIED","description":"Specifies the importance of this location in understanding the code flow.","enum":["IMPORTANCE_UNSPECIFIED","IMPORTANCE_IMPORTANT","IMPORTANCE_ESSENTIAL","IMPORTANCE_UNIMPORTANT"],"type":"string"},"SavedQueryServiceCreateSavedQueryBody":{"description":"SavedQuery implements the metric query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SavedQuerySpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of a saved query.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"SavedQueryServiceUpdateSavedQueryBody":{"description":"Request to update a saved query.","properties":{"object":{"description":"SavedQuery implements the metric query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SavedQuerySpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of a saved query.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta"],"type":"object"},"SavedQuerySpecQueryType":{"default":"QUERY_TYPE_UNSPECIFIED","description":"Type of the query.\n\n - QUERY_TYPE_DASHBOARD: QUERY_TYPE_DASHBOARD selects queries for the dashboard.\n - QUERY_TYPE_USER: QUERY_TYPE_USER is generic user queries.","enum":["QUERY_TYPE_UNSPECIFIED","QUERY_TYPE_DASHBOARD","QUERY_TYPE_USER"],"type":"string"},"ScanCreditUsageScanCreditBreakdown":{"description":"ScanCreditBreakdown holds the six (context x component) credit counters\nthat make up either a window or cumulative total. Components collapse to\nSCA vs code (SAST + AI_SAST + SECRETS) per the New License Model.","properties":{"code_ci_run_credits":{"description":"Code scan credits (SAST + AI_SAST + SECRETS collapsed) from PR scans.","format":"int64","type":"string"},"code_main_overflow_credits":{"description":"Code scan credits from default-branch scans on projects beyond the\n5x-seats repo cap. Always zero when onboarded_project_count \u003c= 5 * seats.","format":"int64","type":"string"},"code_ref_credits":{"description":"Code scan credits from non-default ref scans.","format":"int64","type":"string"},"sca_ci_run_credits":{"description":"SCA scan credits from PR scans (Context.type = CONTEXT_TYPE_CI_RUN).","format":"int64","type":"string"},"sca_main_overflow_credits":{"description":"SCA scan credits from default-branch scans (Context.type = CONTEXT_TYPE_MAIN)\non projects beyond the 5x-seats repo cap. Always zero when\nonboarded_project_count \u003c= 5 * seats.","format":"int64","type":"string"},"sca_ref_credits":{"description":"SCA scan credits from non-default ref scans (Context.type = CONTEXT_TYPE_REF).","format":"int64","type":"string"}},"type":"object"},"ScanCreditUsageServiceCreateScanCreditUsageBody":{"description":"ScanCreditUsage is a per-tenant snapshot of scan credit consumption produced\nby the licensing aggregation job. One object is written per aggregation run\ncovering a fixed [period_start, period_end) window. The most recent object's\nterm_* fields hold cumulative usage for the current contract term anchored\nat EndorLicense.spec.credits_period_start.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanCreditUsageSpec"},"tenant_meta":{"description":"ScanCreditUsage is associated with a root tenant.","title":"ScanCreditUsage is associated with a root tenant.","type":"object"},"uuid":{"description":"The UUID of the scan credit usage record.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"ScanLogRequestServiceCreateScanLogRequestBody":{"description":"ScanLogRequest represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanLogRequestSpec"},"tenant_meta":{"description":"Namespace of the message that is accessed.","title":"Namespace of the message that is accessed.","type":"object"},"uuid":{"description":"The UUID of scan log request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ScanObjectAISASTStatus":{"description":"AISAST status information for the repository version.","properties":{"force_full_indexing":{"title":"Indicates if the code of the repository version should be fully reindexed.\nSet to true to indicate to reindex the code of the repository version.\nTODO (dogild): update the documentation once it is not internal anymore","type":"boolean"},"full_index_started_time":{"description":"Deprecated: was used as a distributed lock for concurrent indexing, but the\nlock had a TOCTOU race and content-addressed indexing makes it unnecessary.\nField kept for backward compatibility; no longer read or written.","format":"date-time","type":"string"},"last_full_index_sha":{"description":"Format: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","title":"The SHA of the last commit that was fully indexed into a vector store.\nNote: this is only used for aisast feature.\nTODO (dogild): update the documentation once it is not internal anymore","type":"string"},"last_full_index_time":{"description":"Format: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","title":"Last time the code of the repository version was fully indexed into a vector store.\nNote: this is only used for aisast feature.\nTODO (dogild): update the documentation once it is not internal anymore","type":"string"},"last_partial_index_sha":{"description":"Deprecated: use last_full_index_sha instead. The indexer now uses a single\nIndex method; the full/partial distinction no longer exists.","type":"string"},"last_partial_index_time":{"description":"Deprecated: use last_full_index_time instead. The indexer now uses a single\nIndex method; the full/partial distinction no longer exists.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","type":"string"},"last_scan_state":{"$ref":"#/components/schemas/AISASTStatusAISASTScanState"}},"type":"object"},"ScanProfileServiceCreateScanProfileBody":{"description":"ScanProfile represents the scan configuration to use across different\nprojects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ScanProfileSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"ScanProfileServiceUpdateScanProfileBody":{"description":"UpdateScanProfileRequest is used by UpdateScanProfile.","properties":{"object":{"description":"ScanProfile represents the scan configuration to use across different\nprojects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ScanProfileSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"ScanRequestResultScanRequestResultStatus":{"default":"SCAN_REQUEST_RESULT_STATUS_UNSPECIFIED","enum":["SCAN_REQUEST_RESULT_STATUS_UNSPECIFIED","SCAN_REQUEST_RESULT_STATUS_SUCCESS","SCAN_REQUEST_RESULT_STATUS_FAIL","SCAN_REQUEST_RESULT_STATUS_NEUTRAL","SCAN_REQUEST_RESULT_STATUS_ACTION_REQUIRED"],"type":"string"},"ScanRequestServiceCreateScanRequestBody":{"description":"ScanRequest represents a request to scan a particular PR and is only\nused by the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanRequestSpec"},"tenant_meta":{"description":"ScanRequests are associated with a tenant.","title":"ScanRequests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the source control scan request.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"ScanRequestServiceUpdateScanRequestBody":{"description":"Request to update the scan request.","properties":{"object":{"description":"ScanRequest represents a request to scan a particular PR and is only\nused by the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanRequestSpec"},"tenant_meta":{"description":"ScanRequests are associated with a tenant.","title":"ScanRequests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the source control scan request.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta"],"type":"object"},"ScanResultServiceCreateScanResultBody":{"description":"Contains the results of an endorctl scan.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanResultSpec"},"tenant_meta":{"description":"Information about the tenant and namespace that the scan ran in.","title":"Information about the tenant and namespace that the scan ran in.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"ScanResultServiceUpdateScanResultBody":{"description":"Request to update a scan result.","properties":{"object":{"description":"Contains the results of an endorctl scan.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanResultSpec"},"tenant_meta":{"description":"Information about the tenant and namespace that the scan ran in.","title":"Information about the tenant and namespace that the scan ran in.","type":"object"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"ScanResultSpecStatus":{"default":"STATUS_UNSPECIFIED","description":"Success state.","enum":["STATUS_UNSPECIFIED","STATUS_SUCCESS","STATUS_PARTIAL_SUCCESS","STATUS_FAILURE","STATUS_RUNNING"],"type":"string"},"ScanResultSpecType":{"default":"TYPE_UNSPECIFIED","description":"Scan type. Only used for runtime statistics.\n\n - TYPE_DOCTOR: Deprecated.\n - TYPE_ALERT_POLICIES: Deprecated.\n - TYPE_FINDING_REFRESH: Lightweight re-evaluation of findings from persisted DependencyMetadata,\nwithout a full repository re-scan.","enum":["TYPE_UNSPECIFIED","TYPE_GITHUB","TYPE_GIT","TYPE_ORG","TYPE_PACKAGE","TYPE_ANALYTICS","TYPE_FINDINGS","TYPE_SBOM_IMPORT","TYPE_LINTER","TYPE_ADMISSION_POLICIES","TYPE_DOCTOR","TYPE_NOTIFICATION_POLICIES","TYPE_ALERT_POLICIES","TYPE_ALL_SCANS","TYPE_HOST_CHECK","TYPE_DEPENDENCY_RESOLUTION","TYPE_CALL_GRAPH","TYPE_EXCEPTION_POLICIES","TYPE_FILE_ANALYTICS","TYPE_HUGGING_FACE","TYPE_PROVISIONING","TYPE_WORKFLOW_SCAN","TYPE_PR_SECURITY_REVIEW","TYPE_UIA","TYPE_ANALYTICS_CHECK","TYPE_LICENSE_DISCOVERY","TYPE_FINDING_REFRESH"],"type":"string"},"ScanWorkflowResultServiceCreateScanWorkflowResultBody":{"description":"ScanWorkflowResult corresponds to a workflow scan result.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowResultSpec"},"tenant_meta":{"description":"The tenant to which the scan workflow result belongs.","title":"The tenant to which the scan workflow result belongs.","type":"object"},"uuid":{"description":"The unique identifier of the scan workflow result.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"ScanWorkflowResultServiceUpdateScanWorkflowResultBody":{"description":"Request used to update a scan workflow result.","properties":{"object":{"description":"ScanWorkflowResult corresponds to a workflow scan result.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowResultSpec"},"tenant_meta":{"description":"The tenant to which the scan workflow result belongs.","title":"The tenant to which the scan workflow result belongs.","type":"object"},"uuid":{"description":"The unique identifier of the scan workflow result.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"ScanWorkflowServiceCreateScanWorkflowBody":{"description":"ScanWorkflow corresponds to a workflow of scan steps.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowSpec"},"tenant_meta":{"description":"The tenant to which the scan workflow belongs.","title":"The tenant to which the scan workflow belongs.","type":"object"},"uuid":{"description":"The unique identifier of the scan workflow.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ScanWorkflowServiceUpdateScanWorkflowBody":{"description":"Request used to update a scan workflow.","properties":{"object":{"description":"ScanWorkflow corresponds to a workflow of scan steps.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowSpec"},"tenant_meta":{"description":"The tenant to which the scan workflow belongs.","title":"The tenant to which the scan workflow belongs.","type":"object"},"uuid":{"description":"The unique identifier of the scan workflow.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"SchedulerResourceHistoryRecommendation":{"description":"Recommendation holds the computed resource request for the next job launch,\nderived from the run history via max + headroom heuristics.","properties":{"cpu_milli":{"description":"Recommended CPU request in millicores.","format":"int32","type":"integer"},"mem_bytes":{"description":"Recommended memory request in bytes.","format":"int64","type":"string"},"source":{"description":"How the recommendation was derived: \"history\", \"default\", \"spike\",\nor \"eviction_bump\".","type":"string"},"updated_at":{"description":"When this recommendation was last recomputed.","format":"date-time","type":"string"}},"type":"object"},"SchedulerResourceHistoryRunSummary":{"description":"RunSummary captures the resource usage of a single completed scheduler job.","properties":{"cpu_peak_millicores":{"description":"Peak CPU usage observed during the job, in millicores.","format":"int32","type":"integer"},"duration_seconds":{"description":"Wall-clock duration of the job in seconds.","format":"int32","type":"integer"},"endorctl_version":{"description":"The endorctl binary version that ran the job.","type":"string"},"job_name":{"description":"The Kubernetes job name.","type":"string"},"mem_peak_bytes":{"description":"Peak memory working set observed during the job, in bytes.","format":"int64","type":"string"},"outcome":{"description":"How the job terminated: \"success\", \"evicted\", \"fail\", or \"timeout\".","type":"string"},"requested_cpu_milli":{"description":"CPU request the job was launched with, in millicores.","format":"int32","type":"integer"},"requested_mem_bytes":{"description":"Memory request the job was launched with, in bytes.","format":"int64","type":"string"},"throttled":{"description":"Whether CFS CPU throttling was detected during the job.","type":"boolean"},"ts":{"description":"When the job completed.","format":"date-time","type":"string"}},"type":"object"},"SchedulerResourceHistoryServiceAppendSchedulerResourceHistoryRunBody":{"description":"Request to atomically append a single run summary to a scheduler resource\nhistory's bounded ring buffer, creating the record on first write.","properties":{"kind":{"description":"Scheduler job kind the history record is keyed to.","type":"string"},"project_uuid":{"description":"Project the history record is keyed to.","type":"string"},"recommendation":{"$ref":"#/components/schemas/SchedulerResourceHistoryRecommendation"},"run":{"$ref":"#/components/schemas/SchedulerResourceHistoryRunSummary"},"tenant_meta":{"description":"Tenant the history record belongs to.","title":"Tenant the history record belongs to.","type":"object"},"window_size":{"description":"Maximum number of runs to retain; the ring buffer keeps the newest N.\nUnset or non-positive falls back to the handler default window.","format":"int32","type":"integer"}},"type":"object"},"ScopePolicyServiceCreateScopePolicyBody":{"description":"ScopePolicy represents a scope policy in the system. Scope policies allow users\nto select for a set of projects (or namespaces) as defined by the project selectors.\nIt is the set of policies that are applied to these projects as defined by a policy selector.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScopePolicySpec"},"tenant_meta":{"description":"Scope policies are issued per namespace.","title":"Scope policies are issued per namespace.","type":"object"},"uuid":{"description":"The UUID of a scope policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ScopePolicyServiceUpdateScopePolicyBody":{"description":"Request to update a scope policy.","properties":{"object":{"description":"ScopePolicy represents a scope policy in the system. Scope policies allow users\nto select for a set of projects (or namespaces) as defined by the project selectors.\nIt is the set of policies that are applied to these projects as defined by a policy selector.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScopePolicySpec"},"tenant_meta":{"description":"Scope policies are issued per namespace.","title":"Scope policies are issued per namespace.","type":"object"},"uuid":{"description":"The UUID of a scope policy.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ScpmDataRunner":{"properties":{"allows_public_repos":{"type":"boolean"},"id":{"format":"uint64","type":"string"},"name":{"type":"string"},"url":{"type":"string"},"visibility":{"type":"string"}},"type":"object"},"ScpmDataWebhook":{"properties":{"active":{"type":"boolean"},"config_url":{"type":"string"},"deliveries_url":{"type":"string"},"events":{"items":{"type":"string"},"type":"array"},"id":{"format":"uint64","type":"string"},"insecure_ssl":{"type":"boolean"},"name":{"type":"string"},"ping_url":{"type":"string"},"secret":{"type":"string"},"test_url":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"type":"object"},"SecretRuleServiceCreateSecretRuleBody":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in\nchildren namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SecretRuleSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the secret rule.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"SecretRuleServiceUpdateSecretRuleBody":{"description":"Request to update a secret rule.","properties":{"object":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in\nchildren namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SecretRuleSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the secret rule.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"SecurityAspectMetricSecurityImpactType":{"default":"SECURITY_IMPACT_TYPE_UNSPECIFIED","description":"Indicates whether a code change improves security, introduces regression, or is neutral.\n\n - SECURITY_IMPACT_TYPE_UNSPECIFIED: Default unspecified value.\n - SECURITY_IMPACT_TYPE_IMPROVEMENT: The change improves security.\n - SECURITY_IMPACT_TYPE_REGRESSION: The change introduces security regression.\n - SECURITY_IMPACT_TYPE_NEUTRAL: The change has neutral security impact.","enum":["SECURITY_IMPACT_TYPE_UNSPECIFIED","SECURITY_IMPACT_TYPE_IMPROVEMENT","SECURITY_IMPACT_TYPE_REGRESSION","SECURITY_IMPACT_TYPE_NEUTRAL"],"type":"string"},"SecurityAttestationPatch":{"properties":{"description":{"description":"The patches description.","type":"string"},"fix_type":{"$ref":"#/components/schemas/PatchFixType"},"fixed_vulns":{"description":"The list of fixed vulnerabilities, such as GHSAs, in the assured package version.","items":{"$ref":"#/components/schemas/SecurityAttestationPatchVulnerability"},"type":"array"},"included_commits":{"description":"Stores all the included commit information.","items":{"$ref":"#/components/schemas/SecurityAttestationPatchCommit"},"type":"array"},"patch_files":{"description":"Stores the content of the patch's files.","items":{"type":"string"},"type":"array"}},"type":"object"},"SecurityAttestationPatchCommit":{"properties":{"author":{"description":"The author of the commit.","type":"string"},"commit_date":{"description":"The date on which the commit was made.","format":"date-time","type":"string"},"commit_type":{"$ref":"#/components/schemas/CommitCommitType"},"commit_url":{"description":"The URL to the original commit, such as a GitHub link.","type":"string"},"message":{"description":"The commit message.","type":"string"},"sha":{"type":"string"}},"required":["commit_type"],"type":"object"},"SecurityAttestationPatchVulnerability":{"properties":{"aliases":{"description":"The list of aliases of the vulnerability.","items":{"type":"string"},"type":"array"},"name":{"description":"Name of the vulnerability, such as GHSA-qmqc-x3r4-6v39.","type":"string"},"uuid":{"description":"The UUID of the corresponding Vuln message in the database that contains the vulnerability details.","type":"string"}},"type":"object"},"SecurityAttestationValidation":{"properties":{"logs_upload_content":{"format":"byte","type":"string"},"logs_url":{"description":"The URL to download the validation logs.\nThis is a signed URL valid only for four hours.","readOnly":true,"type":"string"},"validated_with_unittest":{"description":"validated_with_unittest is set to true if the exploit was tested through an unittest.","type":"boolean"},"vulnerability_name":{"description":"The name of the vuln fixed.","type":"string"}},"type":"object"},"SecurityReviewPullRequestServiceCreateSecurityReviewPullRequestBody":{"description":"SecurityReviewPullRequest represents a security review pull request.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SecurityReviewPullRequestSpec"},"tenant_meta":{"description":"Security review pull requests are associated with a tenant.","title":"Security review pull requests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the security review pull request.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"SecurityReviewPullRequestServiceUpdateSecurityReviewPullRequestBody":{"description":"Request to update the security review pull request.","properties":{"object":{"description":"SecurityReviewPullRequest represents a security review pull request.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SecurityReviewPullRequestSpec"},"tenant_meta":{"description":"Security review pull requests are associated with a tenant.","title":"Security review pull requests are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the security review pull request.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","context"],"type":"object"},"SecurityReviewPullRequestSpecAnalysisIssue":{"properties":{"errors":{"description":"Error messages related to this issue.","items":{"type":"string"},"type":"array"},"skipped_files":{"description":"Files that were skipped due to this issue.","items":{"type":"string"},"type":"array"},"summarized_files":{"description":"Files that were grouped together and summarized due to this issue.","items":{"type":"string"},"type":"array"},"type":{"$ref":"#/components/schemas/SpecIssueType"}},"type":"object"},"SecurityReviewQueryServiceCreateSecurityReviewQueryBody":{"description":"SecurityReviewQuery is an internal API to accelerate the Security Review dashboard operations.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SecurityReviewQuerySpec"},"tenant_meta":{"description":"Security Review Dashboard Summary are associated with a tenant.","title":"Security Review Dashboard Summary are associated with a tenant.","type":"object"},"uuid":{"description":"The UUID of the security review dashboard summary.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"SegmentIndexRequestFunctionSummaryReport":{"description":"FunctionSummaryReport is one function summary computed by the client\nfor a segment in this request, identified by its segment signature hash.","properties":{"data_flow":{"description":"Description of data flow through the function.","type":"string"},"hash":{"description":"Segment signature hash this summary belongs to, matching the\ncorresponding Segment.metadata.signature in this request.","type":"string"},"is_critical_api":{"description":"Whether the function is itself a security-critical API.","type":"boolean"},"is_entry_point":{"description":"Whether the function is an application entry point.","type":"boolean"},"is_sanitizer":{"description":"Whether the function sanitizes untrusted data.","type":"boolean"},"is_sink":{"description":"Whether the function consumes data in a security-sensitive operation.","type":"boolean"},"is_source":{"description":"Whether the function introduces untrusted data.","type":"boolean"},"is_trivial":{"description":"Whether the function is classified as trivial.","type":"boolean"},"keywords":{"description":"Searchable concepts associated with the function.","items":{"type":"string"},"type":"array"},"language":{"$ref":"#/components/schemas/v1Language"},"model":{"description":"AI model that produced the summary.","type":"string"},"postconditions":{"description":"Conditions expected to hold after the function executes.","items":{"type":"string"},"type":"array"},"preconditions":{"description":"Conditions expected to hold before the function executes.","items":{"type":"string"},"type":"array"},"prompt_version":{"description":"Prompt schema version that produced the summary.","format":"int32","type":"integer"},"rest_path":{"description":"REST route associated with an entry-point function.","type":"string"},"sanitizes_for":{"description":"Vulnerability classes mitigated by the function.","items":{"type":"string"},"type":"array"},"summary":{"description":"Human-readable description of the function behavior.","type":"string"},"uses_critical_api":{"description":"Whether the function invokes a security-critical API.","type":"boolean"}},"required":["hash","model","prompt_version","language"],"type":"object"},"SegmentIndexRequestServiceCreateSegmentIndexRequestBody":{"description":"A segment index request allows the caller to provide a set of code\nsegments with their associated metadata that should be indexed as part the\nembeddings store. Embeddings are only created. They are only read through the\nSegmentQueryRequest. The request can include multiple segments to allow\nparallel execution.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentIndexRequestSpec"},"tenant_meta":{"description":"Namespace of the segment index request.","title":"Namespace of the segment index request.","type":"object"},"uuid":{"description":"The UUID of the segment index request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"SegmentMatchValidateRequestServiceCreateSegmentMatchValidateRequestBody":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentMatchValidateRequestSpec"},"tenant_meta":{"description":"Namespace of the segment match validate request.","title":"Namespace of the segment match validate request.","type":"object"},"uuid":{"description":"The UUID of the segment match validate request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"title":"A segment match validate request","type":"object"},"SegmentQueryRequestSegmentQuery":{"properties":{"code_sizes":{"description":"Code size of each segment.\nThe order of segments here is the same as 'signatures' and 'vectors'.","items":{"format":"int64","type":"string"},"type":"array"},"file_hash":{"description":"File hash.","type":"string"},"file_path":{"description":"Relative file path.","type":"string"},"language":{"$ref":"#/components/schemas/v1Language"},"results":{"description":"File version matches. The embeddings api server does all the\ncalculations and can return multiple matches. The matches are sorted\naccording to how close they are to the original request.","items":{"$ref":"#/components/schemas/SegmentQueryRequestSegmentQueryResult"},"readOnly":true,"type":"array"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"segmenter_version":{"format":"int32","title":"Segmenter version","type":"integer"},"signatures":{"description":"All signatures for a given file.\nThe order of segments here is the same as 'vectors' and 'code_sizes'.","items":{"type":"string"},"type":"array"},"vectors":{"description":"All vectors for a given file.\nThe order of segments here is the same as 'signatures' and 'code_sizes'.","items":{"$ref":"#/components/schemas/v1EmbeddingVector"},"type":"array"}},"type":"object"},"SegmentQueryRequestSegmentQueryResult":{"description":"Result for a file version query.","properties":{"aggregated_score":{"format":"double","type":"number"},"file":{"type":"string"},"library":{"type":"string"},"match_types":{"additionalProperties":{"format":"int32","type":"integer"},"type":"object"},"rank":{"format":"int32","type":"integer"},"release_date":{"format":"date-time","type":"string"},"score":{"format":"float","type":"number"},"version":{"type":"string"},"version_unique":{"type":"string"}},"type":"object"},"SegmentQueryRequestServiceCreateSegmentQueryRequestBody":{"description":"A segment query request allows the caller to send a set of segments and find\nsimilarities based on the embeddings. Callers can send multiple segments in\none call. Caller provides the content and embeddings server responds with the\nbest file version matches.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentQueryRequestSpec"},"tenant_meta":{"description":"Namespace of the segment query request.","title":"Namespace of the segment query request.","type":"object"},"uuid":{"description":"The UUID of the segment query request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"SemgrepRuleServiceCreateSemgrepRuleBody":{"properties":{"disabled":{"type":"boolean"},"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SemgrepRuleSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the Semgrep rule.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"SemgrepRuleServiceUpdateSemgrepRuleBody":{"description":"Request to update Semgrep rule.","properties":{"object":{"properties":{"disabled":{"type":"boolean"},"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SemgrepRuleSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the Semgrep rule.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ServiceRequestServiceCreateServiceRequestBody":{"description":"ServiceRequest defines a message for raising requests to perform resource updates\nneeded by the Endor Labs Sales/CS team.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ServiceRequestSpec"},"tenant_meta":{"description":"ServiceRequests are raised for a specific internal tenant.","title":"ServiceRequests are raised for a specific internal tenant.","type":"object"},"uuid":{"description":"The UUID of a service request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ServiceRequestServiceUpdateServiceRequestBody":{"description":"Request to update a service request.","properties":{"object":{"description":"ServiceRequest defines a message for raising requests to perform resource updates\nneeded by the Endor Labs Sales/CS team.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ServiceRequestSpec"},"tenant_meta":{"description":"ServiceRequests are raised for a specific internal tenant.","title":"ServiceRequests are raised for a specific internal tenant.","type":"object"},"uuid":{"description":"The UUID of a service request.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"ServiceTokenServiceCreateServiceTokenBody":{"description":"ServiceToken represents a request for a service token.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ServiceTokenSpec"},"tenant_meta":{"description":"Tenant metadata required for service tokens.","title":"Tenant metadata required for service tokens.","type":"object"},"uuid":{"description":"The UUID of the request.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"SortEntrySortEntryOrder":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"},"SpecAILimit":{"description":"AILimit represents quota/threshold setup for AI-related features.","properties":{"days":{"description":"The number of days over which the quota is calculated.","format":"int32","type":"integer"},"max_credit":{"description":"The maximum number of credits ( eg. could be tokens or price,etc) allowed.","format":"int64","type":"string"}},"required":["max_credit","days"],"type":"object"},"SpecAMFRecord":{"description":"Raw record as received from the AMF (Aikido) malware feed.","properties":{"detected_on":{"description":"Epoch-seconds timestamp of when AMF detected the malware.","format":"int64","type":"string"},"ecosystem":{"description":"Ecosystem as reported by AMF.","type":"string"},"id":{"description":"AMF's internal identifier for the record.","format":"int64","type":"string"},"last_updated":{"description":"Epoch-seconds timestamp of the last update to the record by AMF.","format":"int64","type":"string"},"package_name":{"description":"Package name as reported by AMF.","type":"string"},"reasons":{"description":"Reasons for flagging the package, as reported by AMF.","items":{"type":"string"},"type":"array"},"release_date":{"description":"Epoch-seconds timestamp of the flagged package version's release.","format":"int64","type":"string"},"status":{"description":"Status of the record as reported by AMF.","type":"string"},"version":{"description":"Package version as reported by AMF.","type":"string"}},"type":"object"},"SpecAffectedPackage":{"description":"Package information and version.","properties":{"cpe":{"type":"string"},"cpes":{"description":"List of CPEs associated with the affected package.","items":{"type":"string"},"type":"array"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"name":{"type":"string"},"purl":{"type":"string"}},"required":["name","ecosystem"],"type":"object"},"SpecAffectedRange":{"description":"Affected ranges.","properties":{"fixed":{"description":"The version or commit in which this vulnerability was fixed.","type":"string"},"introduced":{"description":"The earliest version or commit in which this vulnerability was\nintroduced.","type":"string"},"last_affected":{"description":"The last version known to be affected. Versions strictly after this\nare assumed to be fixed. Used when an explicit fixed version is unavailable.","type":"string"},"repo":{"description":"The repository URL.","type":"string"},"type":{"$ref":"#/components/schemas/RangeRangeType"}},"type":"object"},"SpecAgent":{"default":"AGENT_UNSPECIFIED","enum":["AGENT_UNSPECIFIED","AGENT_CURSOR","AGENT_CLAUDE","AGENT_CODEX","AGENT_COPILOT"],"type":"string"},"SpecAgentContext":{"description":"AgentContext is an instance of context that the agent will use to make\ndecisions.","properties":{"resource":{"$ref":"#/components/schemas/SpecContextResource"}},"type":"object"},"SpecAggregationDetails":{"description":"The findings are aggregated and notifications are sent based on the aggregation details.","properties":{"aggregation_target_name":{"title":"The name of the aggregation target based on the aggregation type.\nFor example, it is the project_name if the aggregation type is project","type":"string"},"aggregation_type":{"$ref":"#/components/schemas/NotificationActionAggregationType"},"pkg_version_name":{"title":"The name of the package version","type":"string"},"pkg_version_uuid":{"description":"The UUID of the package version.","type":"string"}},"type":"object"},"SpecAppPatterns":{"properties":{"app_slug":{"description":"Unique GitHub application slug.","type":"string"}},"type":"object"},"SpecAppType":{"default":"APP_TYPE_UNSPECIFIED","enum":["APP_TYPE_UNSPECIFIED","APP_TYPE_GITHUB_CLOUD","APP_TYPE_GITHUB_ENTERPRISE"],"type":"string"},"SpecArchType":{"default":"ARCH_TYPE_UNSPECIFIED","description":"The architecture suitable for the binary.","enum":["ARCH_TYPE_UNSPECIFIED","ARCH_TYPE_LINUX_AMD64","ARCH_TYPE_MACOS_AMD64","ARCH_TYPE_MACOS_ARM64","ARCH_TYPE_WINDOWS_AMD64","ARCH_TYPE_LINUX_ARM64","ARCH_TYPE_LINUX_AMD64_MUSL","ARCH_TYPE_LINUX_ARM64_MUSL"],"type":"string"},"SpecArchitecture":{"properties":{"arch":{"additionalProperties":{"$ref":"#/components/schemas/SpecToolChain"},"type":"object"}},"type":"object"},"SpecAvailableLLM":{"default":"AVAILABLE_LLM_UNSPECIFIED","description":"LLMs available to AgentConfig.\n\n - AVAILABLE_LLM_OPENAI_GPT_5_CHAT: GPT-5 chat is a variant of GPT-5 that is optimized for chat use cases and\ndoes not support reasoning.\n - AVAILABLE_LLM_OPENAI_GPT_5_6_LUNA: GPT-5.6 Luna is the cost-efficient GPT-5.6 tier.\n - AVAILABLE_LLM_OPENAI_GPT_5_6_SOL: GPT-5.6 Sol is the highest-capability GPT-5.6 tier.\n - AVAILABLE_LLM_OPENAI_GPT_5_6_TERRA: GPT-5.6 Terra balances GPT-5.6 cost and capability.\n - AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5_PREVIEW: deprecated: use AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5_LITE instead.\n - AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_LITE_LATEST: NEVER USE: use AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5_LITE instead.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW: deprecated: use AVAILABLE_LLM_GOOGLE_GEMINI_3_1_FLASH_LITE instead.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_1_FLASH_LITE: GA Gemini 3.1 Flash Lite; in the EU it is served from the eu.rep data-residency endpoint.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_5_FLASH_LITE: Generally available Gemini 3.5 Flash Lite model on Vertex AI: the\nhigh-throughput tier of the 3.5 generation.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_5_FLASH: Generally available Gemini 3.5 Flash model on Vertex AI.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_6_FLASH: Generally available Gemini 3.6 Flash model on Vertex AI: the successor to\n3.5 Flash.\n - AVAILABLE_LLM_GOOGLE_GEMINI_3_7_FLASH: Generally available Gemini 3.7 Flash model on Vertex AI: the successor to\n3.6 Flash.","enum":["AVAILABLE_LLM_UNSPECIFIED","AVAILABLE_LLM_OPENAI_GPT_5","AVAILABLE_LLM_OPENAI_GPT_5_MINI","AVAILABLE_LLM_OPENAI_GPT_5_NANO","AVAILABLE_LLM_OPENAI_GPT_5_CHAT","AVAILABLE_LLM_OPENAI_GPT_5_1","AVAILABLE_LLM_OPENAI_GPT_5_1_CHAT","AVAILABLE_LLM_OPENAI_GPT_5_1_CODEX","AVAILABLE_LLM_OPENAI_GPT_5_1_CODEX_MINI","AVAILABLE_LLM_OPENAI_GPT_5_2_CODEX","AVAILABLE_LLM_OPENAI_GPT_5_2","AVAILABLE_LLM_OPENAI_GPT_5_3_CODEX","AVAILABLE_LLM_OPENAI_GPT_5_3_CHAT","AVAILABLE_LLM_OPENAI_GPT_5_4_MINI","AVAILABLE_LLM_OPENAI_GPT_5_4_NANO","AVAILABLE_LLM_OPENAI_GPT_5_4","AVAILABLE_LLM_OPENAI_GPT_5_5","AVAILABLE_LLM_OPENAI_GPT_5_6_LUNA","AVAILABLE_LLM_OPENAI_GPT_5_6_SOL","AVAILABLE_LLM_OPENAI_GPT_5_6_TERRA","AVAILABLE_LLM_OPENAI_GPT_4","AVAILABLE_LLM_OPENAI_GPT_4O_MINI","AVAILABLE_LLM_OPENAI_GPT_4_1","AVAILABLE_LLM_OPENAI_GPT_4_1_MINI","AVAILABLE_LLM_OPENAI_GPT_4_1_NANO","AVAILABLE_LLM_OPENAI_O1","AVAILABLE_LLM_OPENAI_O3","AVAILABLE_LLM_OPENAI_GPT_4O","AVAILABLE_LLM_OPENAI_O3_MINI","AVAILABLE_LLM_OPENAI_O4_MINI","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_0","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_LATEST","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5_PREVIEW","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_5_LITE","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_2_0_LITE","AVAILABLE_LLM_GOOGLE_GEMINI_FLASH_LITE_LATEST","AVAILABLE_LLM_GOOGLE_GEMINI_2_5_PRO","AVAILABLE_LLM_GOOGLE_GEMINI_3_PRO_PREVIEW","AVAILABLE_LLM_GOOGLE_GEMINI_3_1_PRO_PREVIEW","AVAILABLE_LLM_GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW","AVAILABLE_LLM_GOOGLE_GEMINI_3_1_FLASH_LITE","AVAILABLE_LLM_GOOGLE_GEMINI_3_5_FLASH_LITE","AVAILABLE_LLM_GOOGLE_GEMINI_3_5_FLASH","AVAILABLE_LLM_GOOGLE_GEMINI_3_6_FLASH","AVAILABLE_LLM_GOOGLE_GEMINI_3_7_FLASH","AVAILABLE_LLM_GOOGLE_GEMINI_3_FLASH_PREVIEW","AVAILABLE_LLM_ANTHROPIC_CLAUDE_3_5_SONNET","AVAILABLE_LLM_ANTHROPIC_CLAUDE_4_5_SONNET","AVAILABLE_LLM_ANTHROPIC_CLAUDE_4_5_HAIKU","AVAILABLE_LLM_GROQ_LLAMA_3_2_90B","AVAILABLE_LLM_GROQ_COMPOUND","AVAILABLE_LLM_GROQ_COMPOUND_MINI","AVAILABLE_LLM_GROQ_LLAMA_3_3_70B_VERSATILE","AVAILABLE_LLM_GROQ_LLAMA_4_MAVERICK_17B","AVAILABLE_LLM_GROQ_LLAMA_4_SCOUT_17B","AVAILABLE_LLM_GROQ_OPENAI_GPT_OSS_20B","AVAILABLE_LLM_GROQ_OPENAI_GPT_OSS_120B","AVAILABLE_LLM_GROQ_OPENAI_GPT_OSS_SAFEGUARD_20B","AVAILABLE_LLM_GROQ_QWEN_3_32B","AVAILABLE_LLM_GROQ_LLAMA_PROMPT_GUARD_2_22M","AVAILABLE_LLM_GROQ_LLAMA_PROMPT_GUARD_2_86M","AVAILABLE_LLM_GROQ_LLAMA_GUARD_4_12B","AVAILABLE_LLM_ENDOR_DEEPSEEK_R1","AVAILABLE_LLM_GOOGLE_GEMMA_4_26B_A4B_IT","AVAILABLE_LLM_GOOGLE_GEMINI_R2D2_LATEST","AVAILABLE_LLM_FIREWORKS_GPT_OSS_20B","AVAILABLE_LLM_FIREWORKS_GPT_OSS_120B","AVAILABLE_LLM_FIREWORKS_KIMI_K25","AVAILABLE_LLM_FIREWORKS_MINIMAX_M27","AVAILABLE_LLM_FIREWORKS_QWEN_3_6_PLUS"],"type":"string"},"SpecBinaryType":{"default":"BINARY_TYPE_UNSPECIFIED","description":"The type of the binary.\n\n - BINARY_TYPE_YARA: Yara binary used by the malware analysis engine to parse and validate Yara rules.","enum":["BINARY_TYPE_UNSPECIFIED","BINARY_TYPE_JAVA_PLUGIN","BINARY_TYPE_RUST_PLUGIN","BINARY_TYPE_ENDORCTL_BINARY","BINARY_TYPE_PYTHON_PLUGIN","BINARY_TYPE_DOTNET_CIL_PLUGIN","BINARY_TYPE_KOTLIN_PLUGIN","BINARY_TYPE_JAVASCRIPT_ANALYZER","BINARY_TYPE_OPENGREP","BINARY_TYPE_BAZEL_ASPECTS_PACKAGE","BINARY_TYPE_MINT_TOOLKIT","BINARY_TYPE_YARA"],"type":"string"},"SpecBuildAttestation":{"properties":{"commands":{"description":"Commands used to build the package version.","items":{"type":"string"},"type":"array"},"logs_upload_content":{"format":"byte","type":"string"},"logs_url":{"description":"The URL to download the build logs.\nThis is a signed URL valid only for four hours.","readOnly":true,"type":"string"}},"type":"object"},"SpecCVSSSeverityLevel":{"default":"CVSS_SEVERITY_LEVEL_UNSPECIFIED","description":"Common severity level enum used across different CVSS versions.","enum":["CVSS_SEVERITY_LEVEL_UNSPECIFIED","CVSS_SEVERITY_LEVEL_NONE","CVSS_SEVERITY_LEVEL_LOW","CVSS_SEVERITY_LEVEL_MEDIUM","CVSS_SEVERITY_LEVEL_HIGH","CVSS_SEVERITY_LEVEL_CRITICAL"],"type":"string"},"SpecCVSSV3Severity":{"properties":{"level":{"$ref":"#/components/schemas/CVSSV3SeverityLevel"},"score":{"description":"The Common Vulnerability Scoring System (CVSS score) provides a\nnumerical (0-10) representation of the severity of an information\nsecurity vulnerability.","format":"float","type":"number"},"temporal_level":{"$ref":"#/components/schemas/CVSSV3SeverityLevel"},"temporal_score":{"description":"The Common Vulnerability Scoring System (CVSS score) provides a\nnumerical (0-10) representation of the severity of an information\nsecurity vulnerability.","format":"float","type":"number"},"temporal_vector":{"description":"A specially formatted vector indicating the attack surface and severity\nof the vulnerability. Format is here:\nhttps://www.first.org/cvss/specification-document.","type":"string"},"vector":{"description":"A specially formatted vector indicating the attack surface and severity\nof the vulnerability. Format is here:\nhttps://www.first.org/cvss/specification-document.","type":"string"}},"type":"object"},"SpecCVSSV4Severity":{"properties":{"base_level":{"$ref":"#/components/schemas/CVSSV4SeverityV4Level"},"base_score":{"description":"The Common Vulnerability Scoring System v4.0 base score provides a\nnumerical (0-10) representation of the severity of an information\nsecurity vulnerability.","format":"float","type":"number"},"environmental_level":{"$ref":"#/components/schemas/CVSSV4SeverityV4Level"},"environmental_score":{"description":"The CVSS v4.0 environmental score provides context-specific scoring\nbased on the deployment environment.","format":"float","type":"number"},"threat_level":{"$ref":"#/components/schemas/CVSSV4SeverityV4Level"},"threat_score":{"description":"The CVSS v4.0 threat score provides additional context about the\nexploitability of the vulnerability.","format":"float","type":"number"},"vector":{"description":"A specially formatted vector indicating the attack surface and severity\nof the vulnerability. Format is here:\nhttps://www.first.org/cvss/v4.0/specification-document.","type":"string"}},"type":"object"},"SpecCVSSVersion":{"default":"CVSS_VERSION_UNSPECIFIED","description":"The CVSS version.","enum":["CVSS_VERSION_UNSPECIFIED","CVSS_VERSION_V2","CVSS_VERSION_V3","CVSS_VERSION_V4"],"type":"string"},"SpecCmdPatterns":{"properties":{"examples":{"description":"List of examples of tool usage \"in the wild\".","items":{"type":"string"},"type":"array"},"line_patterns":{"description":"List of patterns to match inside files for other tools.","items":{"type":"string"},"type":"array"}},"type":"object"},"SpecCodeChanges":{"properties":{"added_lines":{"description":"The number of added lines in the security review pull request.","format":"int32","type":"integer"},"description":{"description":"The description of the code changes.","type":"string"},"file_changes":{"additionalProperties":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoFileChanges"},"description":"The file changes in the security review pull request.\nThe key is the file path and the value is the file changes.","type":"object"},"removed_lines":{"description":"The number of removed lines in the security review pull request.","format":"int32","type":"integer"}},"type":"object"},"SpecConnectionState":{"default":"CONNECTION_STATE_UNSPECIFIED","enum":["CONNECTION_STATE_UNSPECIFIED","CONNECTION_STATE_CONNECTED","CONNECTION_STATE_DISCONNECTED"],"type":"string"},"SpecConnectionStatus":{"properties":{"connection_state":{"$ref":"#/components/schemas/SpecConnectionState"},"last_updated":{"format":"date-time","type":"string"}},"type":"object"},"SpecContextResource":{"description":"ContextResource is a target resource of a context. It can be a finding,\nproject, package, namespace, etc.","properties":{"kind":{"description":"Kind of the object.","type":"string"},"namespace":{"description":"Namespace of the object.","type":"string"},"uuid":{"description":"Uuid of the object.","type":"string"}},"type":"object"},"SpecDeployAttestation":{"properties":{"commands":{"description":"Commands used to deploy the package version.","items":{"type":"string"},"type":"array"},"logs_upload_content":{"format":"byte","type":"string"},"logs_url":{"description":"The URL to download the deploy logs.\nThis is a signed URL valid only for four hours.","readOnly":true,"type":"string"}},"type":"object"},"SpecDeviceScreenInfo":{"properties":{"available_height":{"format":"int32","type":"integer"},"available_width":{"format":"int32","type":"integer"},"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}},"type":"object"},"SpecDeviceUserAgent":{"properties":{"browser_name":{"type":"string"},"browser_version":{"type":"string"},"os_name":{"type":"string"},"os_version":{"type":"string"}},"type":"object"},"SpecDocumentConsistency":{"description":"DocumentConsistency represents a lightweight document consistency request.\nContains only the fields needed for deduplication, not full content.","properties":{"data_hash":{"description":"data_hash is the SHA256 hash of the document content.\nUsed to identify the representation being checked.","type":"string"},"filter":{"description":"filter contains the uniqueness fields for document identification.\nMust include all fields specified in the vector store's uniqueness_fields.","type":"object"}},"required":["data_hash","filter"],"type":"object"},"SpecEPSSRecord":{"properties":{"cve_id":{"type":"string"},"ingestion_time":{"format":"date-time","type":"string"},"percentile":{"format":"double","type":"number"},"probability":{"format":"double","type":"number"}},"type":"object"},"SpecEPSSScore":{"properties":{"percentile_score":{"format":"double","type":"number"},"probability_score":{"format":"double","type":"number"}},"type":"object"},"SpecEmbeddingModelAlias":{"description":"EmbeddingModelAlias maps a platform embedding model to the name the\ncustomer's provider serves it under. Embedding models live in their own\nenum and never appear in ModelAlias, so they need their own list.","properties":{"alias":{"description":"Name the customer's provider serves the model under, e.g. an Azure\nOpenAI deployment name. Defaults to the model's own name when unset.","type":"string"},"model":{"$ref":"#/components/schemas/v1EmbeddingModel"}},"required":["model"],"type":"object"},"SpecEnabledFeatureType":{"default":"ENABLED_FEATURE_TYPE_UNSPECIFIED","description":" - ENABLED_FEATURE_TYPE_AI_SAST_SCAN: Enables AI-powered SAST scanning of source code for security vulnerabilities.","enum":["ENABLED_FEATURE_TYPE_UNSPECIFIED","ENABLED_FEATURE_TYPE_GIT_SCAN","ENABLED_FEATURE_TYPE_GITHUB_SCAN","ENABLED_FEATURE_TYPE_SECRETS_SCAN","ENABLED_FEATURE_TYPE_TOOLS_SCAN","ENABLED_FEATURE_TYPE_GITHUB_ACTION_SCAN","ENABLED_FEATURE_TYPE_SAST_SCAN","ENABLED_FEATURE_TYPE_AI_MODELS_SCAN","ENABLED_FEATURE_TYPE_AI_SAST_SCAN"],"type":"string"},"SpecEndorFingerprint":{"description":"An engine independent and rule agnostic fingerprint computed based on\nsource location information.","properties":{"values":{"description":"The fingerprint values.","items":{"type":"string"},"type":"array"}},"type":"object"},"SpecEndorLicenseBundleInfo":{"description":"EndorLicenseBundleInfo provides information about a specific license\nbundle.","properties":{"expiration_time":{"description":"The time when the license bundle expires.","format":"date-time","type":"string"},"free_tier":{"description":"Whether this bundle is granted as a free tier.","type":"boolean"},"limit":{"description":"A value of 0 or -1 corresponds to an unlimited license.","format":"int32","type":"integer"},"type":{"$ref":"#/components/schemas/SpecEndorLicenseBundleType"}},"type":"object"},"SpecEndorLicenseBundleType":{"default":"ENDOR_LICENSE_BUNDLE_TYPE_UNSPECIFIED","description":"Enum representing different types of Endor Labs license bundles.\n\n - ENDOR_LICENSE_BUNDLE_TYPE_UNSPECIFIED: Default value. Should not be used.\n - ENDOR_LICENSE_BUNDLE_TYPE_OSS_CORE: Open Source Software (OSS) Core license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_OSS_PRO: Open Source Software (OSS) Pro license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_CICD: Continuous Integration/Continuous Deployment (CI/CD) license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_SECRETS: Secrets Management license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_SBOM_HUB: Software Bill of Materials (SBOM) Hub license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_SUPPLY_CHAIN: Supply Chain Security license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_ENDOR_PATCHING: Endor Patching license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_CODE: Discover risks in 1st party code.\n - ENDOR_LICENSE_BUNDLE_TYPE_ENDOR_OUTPOST: Endor Outpost license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_SECURITY_REVIEW: Security Review license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_CODE_PRO: Discover risks in 1st party code using AI.\n - ENDOR_LICENSE_BUNDLE_TYPE_OSS_FIREWALL: Endor OSS Firewall license bundle.\n - ENDOR_LICENSE_BUNDLE_TYPE_AI_GOVERNANCE: AI Governance license bundle. Grants access to AI agent hook event\ncollection and review (Cursor, Claude Code, etc.).\n - ENDOR_LICENSE_BUNDLE_TYPE_BYOK: BYOK license bundle. Grants the ability to register\ncustomer-provided LLM provider credentials and route AI requests\nthrough them.","enum":["ENDOR_LICENSE_BUNDLE_TYPE_UNSPECIFIED","ENDOR_LICENSE_BUNDLE_TYPE_OSS_CORE","ENDOR_LICENSE_BUNDLE_TYPE_OSS_PRO","ENDOR_LICENSE_BUNDLE_TYPE_CICD","ENDOR_LICENSE_BUNDLE_TYPE_SECRETS","ENDOR_LICENSE_BUNDLE_TYPE_SBOM_HUB","ENDOR_LICENSE_BUNDLE_TYPE_SUPPLY_CHAIN","ENDOR_LICENSE_BUNDLE_TYPE_ENDOR_PATCHING","ENDOR_LICENSE_BUNDLE_TYPE_CODE","ENDOR_LICENSE_BUNDLE_TYPE_ENDOR_OUTPOST","ENDOR_LICENSE_BUNDLE_TYPE_SECURITY_REVIEW","ENDOR_LICENSE_BUNDLE_TYPE_CODE_PRO","ENDOR_LICENSE_BUNDLE_TYPE_OSS_FIREWALL","ENDOR_LICENSE_BUNDLE_TYPE_AI_GOVERNANCE","ENDOR_LICENSE_BUNDLE_TYPE_BYOK"],"type":"string"},"SpecEndorLicenseFeatureType":{"default":"ENDOR_LICENSE_FEATURE_TYPE_UNSPECIFIED","description":" - ENDOR_LICENSE_FEATURE_TYPE_UNSPECIFIED: Type is undefined.\n - ENDOR_LICENSE_FEATURE_TYPE_SCM_POSTURE_MANAGEMENT: SCM Posture Management corresponds to endorctl's Github Scanner and\nensure your respository's configuration is correct.\n - ENDOR_LICENSE_FEATURE_TYPE_SCA: SCA corresponds to endorctl's Git Scanner and runs the Software\nComposition Analysis.\n - ENDOR_LICENSE_FEATURE_TYPE_SECRETS: Secrets corresponds to endorctl's Secrets Scanner.\n - ENDOR_LICENSE_FEATURE_TYPE_SBOM_INGESTION: SBOM (Software Bill of Materials) Ingestion feature for ingesting SBOM\ndata.\n - ENDOR_LICENSE_FEATURE_TYPE_CONTAINER_SCAN: Container Scan feature for scanning container images.\n - ENDOR_LICENSE_FEATURE_TYPE_RECOMMENDATION: Recommendation feature provides recommendations based on change impact\nanalysis results.\n - ENDOR_LICENSE_FEATURE_TYPE_CICD_DISCOVERY: CI/CD Discovery feature discovers CI/CD pipelines tools and\nconfigurations.\n - ENDOR_LICENSE_FEATURE_TYPE_ARTIFACT_SIGN: Artifact Signing feature allows signing artifacts.\n - ENDOR_LICENSE_FEATURE_TYPE_ENDOR_PATCHING: Endor Patching feature allows accessing Endor Labs factory.\n - ENDOR_LICENSE_FEATURE_TYPE_SAST: SAST feature allows scanning source code for security vulnerabilities.\n - ENDOR_LICENSE_FEATURE_TYPE_AI_MODELS: AI Models feature allows scanning source code for AI model usage.\n - ENDOR_LICENSE_FEATURE_TYPE_ENDOR_OUTPOST: Endor Outpost feature allows automated scanning on-premises.\n - ENDOR_LICENSE_FEATURE_TYPE_AI_INFERENCE: AI Inference feature allows querying AI models.\n - ENDOR_LICENSE_FEATURE_TYPE_SECURITY_REVIEW: Security Review feature allows reviewing security code.\n - ENDOR_LICENSE_FEATURE_TYPE_GITHUB_ACTIONS: Github Actions feature allows scanning Github Actions workflows.\n - ENDOR_LICENSE_FEATURE_TYPE_AI_SAST: AI SAST feature allows triage/detection of false positives of SAST findings using AI.\n - ENDOR_LICENSE_FEATURE_TYPE_PACKAGE_FIREWALL: Package Firewall feature allows evaluating packages for security.\n - ENDOR_LICENSE_FEATURE_TYPE_ENDOR_ENRICHMENT: Endor Enrichment feature allows access to Endor-proprietary data.\n - ENDOR_LICENSE_FEATURE_TYPE_AI_GOVERNANCE: AI Governance feature allows recording and reviewing AI agent hook\nevents (e.g. Cursor, Claude Code) for governance and audit.\n - ENDOR_LICENSE_FEATURE_TYPE_BYOK: BYOK feature allows routing AI requests through\ncustomer-provided LLM provider credentials (bring your own key).","enum":["ENDOR_LICENSE_FEATURE_TYPE_UNSPECIFIED","ENDOR_LICENSE_FEATURE_TYPE_SCM_POSTURE_MANAGEMENT","ENDOR_LICENSE_FEATURE_TYPE_SCA","ENDOR_LICENSE_FEATURE_TYPE_SECRETS","ENDOR_LICENSE_FEATURE_TYPE_SBOM_INGESTION","ENDOR_LICENSE_FEATURE_TYPE_CONTAINER_SCAN","ENDOR_LICENSE_FEATURE_TYPE_RECOMMENDATION","ENDOR_LICENSE_FEATURE_TYPE_CICD_DISCOVERY","ENDOR_LICENSE_FEATURE_TYPE_ARTIFACT_SIGN","ENDOR_LICENSE_FEATURE_TYPE_ENDOR_PATCHING","ENDOR_LICENSE_FEATURE_TYPE_SAST","ENDOR_LICENSE_FEATURE_TYPE_AI_MODELS","ENDOR_LICENSE_FEATURE_TYPE_ENDOR_OUTPOST","ENDOR_LICENSE_FEATURE_TYPE_AI_INFERENCE","ENDOR_LICENSE_FEATURE_TYPE_SECURITY_REVIEW","ENDOR_LICENSE_FEATURE_TYPE_GITHUB_ACTIONS","ENDOR_LICENSE_FEATURE_TYPE_AI_SAST","ENDOR_LICENSE_FEATURE_TYPE_PACKAGE_FIREWALL","ENDOR_LICENSE_FEATURE_TYPE_ENDOR_ENRICHMENT","ENDOR_LICENSE_FEATURE_TYPE_AI_GOVERNANCE","ENDOR_LICENSE_FEATURE_TYPE_BYOK"],"type":"string"},"SpecEndorLicenseInfo":{"description":"EndorLicenseInfo provides information about a specific feature type and\nits limit.","properties":{"expiration_time":{"description":"The time when the license expires.","format":"date-time","type":"string"},"free_tier":{"description":"Whether this is a free-tier (limited) grant.","type":"boolean"},"limit":{"description":"A value of 0 or -1 corresponds to an unlimited license.","format":"int32","type":"integer"},"type":{"$ref":"#/components/schemas/SpecEndorLicenseFeatureType"}},"type":"object"},"SpecEndorLicenseType":{"default":"ENDOR_LICENSE_TYPE_UNSPECIFIED","description":"EndorLicenseType represents the type of Endor Labs license.\n\n - ENDOR_LICENSE_TYPE_UNSPECIFIED: Type is undefined.\n - ENDOR_LICENSE_TYPE_FREE_TRIAL: FREE TRIAL license is used for self-service signup workflow.\n - ENDOR_LICENSE_TYPE_FREE_TIER: FREE TIER license for free restricted access to Endor Labs products.\n - ENDOR_LICENSE_TYPE_PREMIUM: PREMIUM license for paid customers.\n - ENDOR_LICENSE_TYPE_POV: Sales-led POC Customer.","enum":["ENDOR_LICENSE_TYPE_UNSPECIFIED","ENDOR_LICENSE_TYPE_FREE_TRIAL","ENDOR_LICENSE_TYPE_FREE_TIER","ENDOR_LICENSE_TYPE_PREMIUM","ENDOR_LICENSE_TYPE_POV"],"type":"string"},"SpecEndorctlConfig":{"properties":{"image":{"type":"string"},"max_duration":{"description":"Maximum duration of an endorctl job in minutes.","format":"int32","type":"integer"},"tag":{"description":"Default will be set to 'latest'.","type":"string"}},"type":"object"},"SpecEntryMatchState":{"default":"ENTRY_MATCH_STATE_UNSPECIFIED","description":" - ENTRY_MATCH_STATE_UNSPECIFIED: Unspecified state.\n - ENTRY_MATCH_STATE_MATCH: The store has an entry that corresponds to the provided document representation.\n - ENTRY_MATCH_STATE_MISMATCH: The store has an entry for this document identity, but it does not correspond\nto the provided representation.\n - ENTRY_MATCH_STATE_NOT_FOUND: The store has no entry for this document identity.","enum":["ENTRY_MATCH_STATE_UNSPECIFIED","ENTRY_MATCH_STATE_MATCH","ENTRY_MATCH_STATE_MISMATCH","ENTRY_MATCH_STATE_NOT_FOUND"],"type":"string"},"SpecEnvironment":{"properties":{"arch":{"type":"string"},"config":{"description":"Configuration used by endorctl.\nContains everything except credential values.","type":"object"},"endorctl_version":{"type":"string"},"memory":{"format":"double","type":"number"},"num_cpus":{"format":"int32","type":"integer"},"os":{"type":"string"},"tools":{"items":{"$ref":"#/components/schemas/EnvironmentTool"},"type":"array"}},"required":["arch","endorctl_version","config","os","memory","num_cpus"],"type":"object"},"SpecErrorCategory":{"default":"ERROR_CATEGORY_UNSPECIFIED","description":"The type of error that the rule is for.","enum":["ERROR_CATEGORY_UNSPECIFIED","ERROR_CATEGORY_PRIVATE_REGISTRY","ERROR_CATEGORY_TOOLCHAIN","ERROR_CATEGORY_REPOSITORY","ERROR_CATEGORY_OTHER"],"type":"string"},"SpecEvaluationMethodType":{"default":"EVALUATION_METHOD_TYPE_UNSPECIFIED","description":"The type of evaluation method.\n\n - EVALUATION_METHOD_TYPE_SYSTEM: SYSTEM indicates an evaluation method that is system wide.\n - EVALUATION_METHOD_TYPE_USER: USER indicates an evaluation method defined by a user.","enum":["EVALUATION_METHOD_TYPE_UNSPECIFIED","EVALUATION_METHOD_TYPE_SYSTEM","EVALUATION_METHOD_TYPE_USER"],"type":"string"},"SpecExporterParameters":{"properties":{"exporter_uuids":{"description":"exporter_uuids is the list of exporter objects that will be used for\nexports at the end of the scan.","items":{"type":"string"},"type":"array"}},"type":"object"},"SpecExporterType":{"default":"EXPORTER_TYPE_UNSPECIFIED","description":" - EXPORTER_TYPE_GHAS: EXPORTER_TYPE_GHAS indicates a GitHub Advanced Security exporter.\n - EXPORTER_TYPE_S3: EXPORTER_TYPE_S3 indicates an AWS S3 exporter.\n - EXPORTER_TYPE_WIZ: EXPORTER_TYPE_WIZ indicates a Wiz Security Platform exporter.","enum":["EXPORTER_TYPE_UNSPECIFIED","EXPORTER_TYPE_GHAS","EXPORTER_TYPE_S3","EXPORTER_TYPE_WIZ"],"type":"string"},"SpecFilePatterns":{"properties":{"examples":{"description":"List of examples of tool usage \"in the wild\".","items":{"type":"string"},"type":"array"},"filename_patterns":{"description":"List of file name patterns.","items":{"type":"string"},"type":"array"},"line_patterns":{"description":"List of patterns to match inside a file with a name that matches the file name pattern.","items":{"type":"string"},"type":"array"}},"type":"object"},"SpecFindingData":{"description":"Basic finding metadata that can be used to \"plot trends\".","properties":{"approximation":{"description":"True if this finding is for an approximate dependency\nbased on the unresolved package dependencies.","type":"boolean"},"categories":{"description":"Finding categories.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"create_time":{"description":"Time the finding was created.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","type":"string"},"description":{"description":"Finding description.","type":"string"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"name":{"description":"Finding name.","type":"string"},"tags":{"description":"Finding tags.","items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"},"target_dependency_package_name":{"description":"Fully qualified name of the dependency. For example, eco://package@version.","type":"string"},"uuid":{"description":"Finding UUID.","type":"string"}},"type":"object"},"SpecFindingDetails":{"properties":{"dependency":{"type":"string"},"description":{"type":"string"},"explanation":{"type":"string"},"package_version":{"type":"string"},"remediation":{"type":"string"},"severity":{"type":"string"},"summary":{"type":"string"}},"type":"object"},"SpecFindingLevel":{"default":"FINDING_LEVEL_UNSPECIFIED","description":"Finding severity level.\n\n - FINDING_LEVEL_CRITICAL: Critical finding.\n - FINDING_LEVEL_HIGH: Very important findings.\n - FINDING_LEVEL_MEDIUM: Important findings.\n - FINDING_LEVEL_LOW: Low priority finding.","enum":["FINDING_LEVEL_UNSPECIFIED","FINDING_LEVEL_CRITICAL","FINDING_LEVEL_HIGH","FINDING_LEVEL_MEDIUM","FINDING_LEVEL_LOW"],"type":"string"},"SpecFindingRefresh":{"description":"FindingRefresh carries metadata specific to SCAN_REQUEST_TYPE_FINDING_REFRESH\nrequests. Unset for all other scan-request types.","properties":{"ingestion_time":{"description":"ingestion_time is the OSS IngestionState watermark (last_vuln_ingestion_time\nor last_malware_ingestion_time) that triggered this finding-refresh. It\ncorrelates the scan back to its ingestion event and drives end-to-end latency\ntracking.","format":"date-time","type":"string"},"trigger":{"$ref":"#/components/schemas/FindingRefreshTrigger"}},"type":"object"},"SpecFindingsInfo":{"properties":{"critical_findings_count":{"description":"Number of critical severity findings.","format":"int32","type":"integer"},"high_findings_count":{"description":"Number of high severity findings.","format":"int32","type":"integer"},"low_findings_count":{"description":"Number of low severity findings.","format":"int32","type":"integer"},"medium_findings_count":{"description":"Number of medium severity findings.","format":"int32","type":"integer"}},"type":"object"},"SpecHookEventCategory":{"default":"HOOK_EVENT_CATEGORY_UNSPECIFIED","enum":["HOOK_EVENT_CATEGORY_UNSPECIFIED","HOOK_EVENT_CATEGORY_TOOL","HOOK_EVENT_CATEGORY_SESSION","HOOK_EVENT_CATEGORY_CMD","HOOK_EVENT_CATEGORY_FILE","HOOK_EVENT_CATEGORY_USER_PROMPT"],"type":"string"},"SpecHookEventName":{"default":"HOOK_EVENT_NAME_UNSPECIFIED","description":"HookEventName identifies the kind of agent lifecycle or tool event.\nDifferent agents use different names, so here we will have a normalized list.","enum":["HOOK_EVENT_NAME_UNSPECIFIED","HOOK_EVENT_NAME_SESSION_START","HOOK_EVENT_NAME_SESSION_STOP","HOOK_EVENT_NAME_USER_PROMPT_SUBMIT","HOOK_EVENT_NAME_PRE_TOOL_USE","HOOK_EVENT_NAME_POST_TOOL_USE","HOOK_EVENT_NAME_PRE_CMD","HOOK_EVENT_NAME_POST_CMD","HOOK_EVENT_NAME_PRE_FILE_OPERATION","HOOK_EVENT_NAME_POST_FILE_OPERATION"],"type":"string"},"SpecImportedRuleSetResult":{"properties":{"errors":{"description":"Any errors encountered during the operation.","items":{"type":"string"},"type":"array"},"processing_time":{"description":"The total time in seconds that it took to process the request.","format":"float","type":"number"},"status":{"$ref":"#/components/schemas/ImportedRuleSetResultImportedRuleSetResultStatus"}},"type":"object"},"SpecInput":{"description":"Input message for the AI request.","properties":{"max_output_tokens":{"description":"MaxOutputTokens is the maximum number of tokens that the agent will\noutput.","format":"int32","type":"integer"},"messages":{"description":"The messages of the AI request.","items":{"$ref":"#/components/schemas/SpecMessage"},"type":"array"},"model":{"description":"The model which will be used to generate the response of the AI request.","type":"string"},"response_format":{"$ref":"#/components/schemas/InputResponseFormat"},"temperature":{"description":"temperature of the AI request.","format":"float","type":"number"},"thinking_level":{"$ref":"#/components/schemas/SpecInputThinkingLevel"},"tools":{"description":"The tools of the AI request.","items":{"$ref":"#/components/schemas/SpecTools"},"type":"array"},"top_p":{"description":"topN of the AI request.","format":"float","type":"number"}},"required":["model"],"type":"object"},"SpecInputThinkingLevel":{"default":"THINKING_LEVEL_UNSPECIFIED","description":"ThinkingLevel is the thinking level that the agent will use.\n\n - THINKING_LEVEL_AUTO: Some models have a thinking budget.","enum":["THINKING_LEVEL_UNSPECIFIED","THINKING_LEVEL_AUTO","THINKING_LEVEL_LOW","THINKING_LEVEL_MEDIUM","THINKING_LEVEL_HIGH"],"type":"string"},"SpecInstall":{"description":"Install is one host's install recipe.","properties":{"command":{"description":"Install command for the host.","type":"string"},"host":{"description":"Supported agent install hosts.","enum":["claude-code","claude-managed","codex","cursor","gemini","antigravity"],"type":"string"}},"required":["host","command"],"type":"object"},"SpecInternalRecord":{"description":"Sanitized projection of the internal malware detection assessment. Deliberately\nNOT the full MalwareDetectionAssessment: that message carries internal-only\nfields (prompt_compressed, llm_call_stats, total_llm_cost, review state) that\nmust never reach GetMalware/ListMalware, which are public, unmasked-by-default\nAPIs. Only add fields here that are safe to return to any Malware caller.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"human_reviewed":{"description":"Whether a human reviewed this assessment.","type":"boolean"},"package_name":{"description":"Name of the assessed package.","type":"string"},"reasons":{"description":"Reasons for the assessment's verdict.","items":{"type":"string"},"type":"array"},"result":{"$ref":"#/components/schemas/v1MalwareAssessmentResultType"},"version":{"description":"Version of the assessed package.","type":"string"}},"type":"object"},"SpecInvitationState":{"default":"INVITATION_STATE_UNSPECIFIED","enum":["INVITATION_STATE_UNSPECIFIED","INVITATION_STATE_PENDING","INVITATION_STATE_ACCEPTED","INVITATION_STATE_EMAIL_FAILURE"],"type":"string"},"SpecIssueType":{"default":"ISSUE_TYPE_UNSPECIFIED","description":" - ISSUE_TYPE_DIFF_TOO_LARGE: Files were skipped due to diff size limits.\n - ISSUE_TYPE_AI_ERROR: AI agent encountered errors but analysis continued.\n - ISSUE_TYPE_QUOTA_EXCEEDED: Quota for the namespace was exceeded.\n - ISSUE_TYPE_HIGH_DEMAND: High demand on our AI agents.","enum":["ISSUE_TYPE_UNSPECIFIED","ISSUE_TYPE_DIFF_TOO_LARGE","ISSUE_TYPE_AI_ERROR","ISSUE_TYPE_QUOTA_EXCEEDED","ISSUE_TYPE_HIGH_DEMAND"],"type":"string"},"SpecJobCategory":{"default":"JOB_CATEGORY_UNSPECIFIED","description":" - JOB_CATEGORY_SYSTEM: These are jobs that are initiated by the services\nas a background task. For example, the API Server\ninitiates a cascading deletion job to delete the\nchildren of the parent object.\n - JOB_CATEGORY_USER: User initiated jobs. For example, a job to generate\na report.","enum":["JOB_CATEGORY_UNSPECIFIED","JOB_CATEGORY_SYSTEM","JOB_CATEGORY_USER"],"type":"string"},"SpecJobPriority":{"default":"JOB_PRIORITY_UNSPECIFIED","description":"Priority definitions for the job.\n\n - JOB_PRIORITY_LOW: The job is low priority.\n - JOB_PRIORITY_MEDIUM: The job is medium priority.\n - JOB_PRIORITY_HIGH: The job is high priority.","enum":["JOB_PRIORITY_UNSPECIFIED","JOB_PRIORITY_LOW","JOB_PRIORITY_MEDIUM","JOB_PRIORITY_HIGH"],"type":"string"},"SpecJobState":{"default":"JOB_STATE_UNSPECIFIED","description":" - JOB_STATE_NEW: The job was just created but never executed.\n - JOB_STATE_RUNNING: The job is running.\n - JOB_STATE_SUCCESS: The job has been successfully executed.\n - JOB_STATE_FAILED: The job has failed and will not be retried.\n - JOB_STATE_CANCELLED: The job has been cancelled/aborted by the service and will be retried.\n - JOB_STATE_RETRY: The job has failed but will be retried up to the max_retries limit.","enum":["JOB_STATE_UNSPECIFIED","JOB_STATE_NEW","JOB_STATE_RUNNING","JOB_STATE_SUCCESS","JOB_STATE_FAILED","JOB_STATE_CANCELLED","JOB_STATE_RETRY"],"type":"string"},"SpecJobType":{"default":"JOB_TYPE_UNSPECIFIED","description":"JobType is used to match the job to its handler.\nA new job type should be added when a new handler is added.\n\n - JOB_TYPE_SAMPLE: Sample job type.\n - JOB_TYPE_ANALYTICS_REPORT: Analytics report job type.\n - JOB_TYPE_LICENSE_REPORT: License report job type.\n - JOB_TYPE_FINDINGS_REPORT: Findings report job type.\n - JOB_TYPE_DEPENDENCIES_REPORT: Dependencies report job type.\n - JOB_TYPE_SKILL_SCORING: Skill scoring job type.\n - JOB_TYPE_CONTRIBUTOR_EXTRACTION: Contributor extraction job type. The handler iterates all projects\nunder the org/workspace/group identified by the job request and\nextracts contributor information per project.\n - JOB_TYPE_MCP_SCORING: MCP server scoring job type. Runs the riskevaluator pipeline\nagainst an MCP server inventory record and writes the evaluation\nto McpMeta.\n - JOB_TYPE_SBOM_EXPORT: SBOM export job type. Generates a CycloneDx or SPDX SBOM for a\nproject or set of package versions.\n - JOB_TYPE_OBJECT_CLEANER: Object cleaner job type.\n - JOB_TYPE_VEX_EXPORT: VEX export job type. Generates a CycloneDx VEX (Vulnerability\nExploitability eXchange) document for a project or set of package\nversions.\n - JOB_TYPE_AGENT_HOOK_EVENT_EXPORT: Agent hook event export job type. Streams AgentHookEvent telemetry\nmatching a time-bounded filter to a CSV file in object storage.","enum":["JOB_TYPE_UNSPECIFIED","JOB_TYPE_SAMPLE","JOB_TYPE_ANALYTICS_REPORT","JOB_TYPE_LICENSE_REPORT","JOB_TYPE_FINDINGS_REPORT","JOB_TYPE_DEPENDENCIES_REPORT","JOB_TYPE_SKILL_SCORING","JOB_TYPE_CONTRIBUTOR_EXTRACTION","JOB_TYPE_MCP_SCORING","JOB_TYPE_SBOM_EXPORT","JOB_TYPE_OBJECT_CLEANER","JOB_TYPE_VEX_EXPORT","JOB_TYPE_AGENT_HOOK_EVENT_EXPORT"],"type":"string"},"SpecKEVRecord":{"properties":{"cve_id":{"type":"string"},"date_added":{"format":"date-time","type":"string"},"due_date":{"format":"date-time","type":"string"},"known_ransomware_campaign_use":{"type":"string"},"notes":{"type":"string"},"product":{"type":"string"},"required_action":{"type":"string"},"short_description":{"type":"string"},"vendor_project":{"type":"string"},"vulnerability_name":{"type":"string"}},"type":"object"},"SpecLicenseConfiguration":{"description":"LicenseConfiguration is the configuration for the Endor Labs license.","properties":{"security_review_configuration":{"$ref":"#/components/schemas/SpecSecurityReviewConfiguration"}},"type":"object"},"SpecLinterResultLevel":{"default":"LINTER_RESULT_LEVEL_UNSPECIFIED","description":"The severity level of the linter result. Crafted using the Semgrep specification.\n\n - LINTER_RESULT_LEVEL_ERROR: ERROR indicates that a serious problem was found.\n - LINTER_RESULT_LEVEL_WARNING: WARNING indicates that a problem that is not considered serious was found.\n - LINTER_RESULT_LEVEL_INFO: INFO indicates that the notification is purely informational.\n - LINTER_RESULT_LEVEL_DEBUG: DEBUG indicates that this is a trace notification (debug).","enum":["LINTER_RESULT_LEVEL_UNSPECIFIED","LINTER_RESULT_LEVEL_ERROR","LINTER_RESULT_LEVEL_WARNING","LINTER_RESULT_LEVEL_INFO","LINTER_RESULT_LEVEL_DEBUG"],"type":"string"},"SpecLinterResultOrigin":{"default":"LINTER_RESULT_ORIGIN_UNSPECIFIED","description":"The origin of the linter result.\n\n - LINTER_RESULT_ORIGIN_SEMGREP: The semgrep tool reported this result.\n - LINTER_RESULT_ORIGIN_SECRETS_SCANNER: The secrets scanner reported this result.\n - LINTER_RESULT_ORIGIN_SAST_SCANNER: The SAST scanner reported this result.\n - LINTER_RESULT_ORIGIN_LLM_SCANNER: The LLM scanner reported this result.\n - LINTER_RESULT_ORIGIN_AI_SAST_SCANNER: The AI SAST scanner reported this result.","enum":["LINTER_RESULT_ORIGIN_UNSPECIFIED","LINTER_RESULT_ORIGIN_SEMGREP","LINTER_RESULT_ORIGIN_SECRETS_SCANNER","LINTER_RESULT_ORIGIN_SAST_SCANNER","LINTER_RESULT_ORIGIN_LLM_SCANNER","LINTER_RESULT_ORIGIN_AI_SAST_SCANNER"],"type":"string"},"SpecMCPServer":{"properties":{"name":{"description":"Name is the name of the MCP server.","type":"string"},"sse":{"$ref":"#/components/schemas/SpecMCPServerSSE"},"stdio":{"$ref":"#/components/schemas/SpecMCPServerStdio"}},"required":["name"],"type":"object"},"SpecMCPServerSSE":{"description":"MCPServerSSE is the configuration of an SSE MCP server.","properties":{"url":{"description":"URL is the URL of the SSE MCP server.","type":"string"}},"required":["url"],"type":"object"},"SpecMCPServerStdio":{"description":"MCPServerStdio is the configuration for an MCP server that is accessed\nvia a command line interface.","properties":{"args":{"description":"Args is the arguments to pass to the server.","items":{"type":"string"},"type":"array"},"cmd":{"description":"Cmd is the command to access the server.","type":"string"},"env_variables":{"description":"Env variables that must be used.","items":{"type":"string"},"type":"array"}},"required":["cmd"],"type":"object"},"SpecMalwareRange":{"description":"Affected ranges.","properties":{"fixed":{"description":"The version or commit in which malicious behaviour was fixed.","type":"string"},"introduced":{"description":"The earliest version or commit in which malicious behaviour was\nintroduced.","type":"string"},"last_affected":{"description":"The last version in which malicious behaviour was observed. Used as an\ninclusive upper bound when no fixed version is known (OSV last_affected):\nversions at or below it are affected, versions strictly above are not.","type":"string"},"osv_id":{"description":"The OSV ID for the malware record.","type":"string"},"repo":{"description":"The repository URL.","type":"string"},"type":{"$ref":"#/components/schemas/MalwareRangeMalwareRangeType"}},"type":"object"},"SpecMalwareRanges":{"properties":{"ranges":{"items":{"$ref":"#/components/schemas/SpecMalwareRange"},"type":"array"}},"type":"object"},"SpecMalwareSource":{"default":"MALWARE_SOURCE_UNSPECIFIED","description":" - MALWARE_SOURCE_ENDOR: Merged from one or more external malware feeds (OSV, AMF, INTERNAL etc).\n - MALWARE_SOURCE_INTERNAL: Endor security research team assessments.","enum":["MALWARE_SOURCE_UNSPECIFIED","MALWARE_SOURCE_ENDOR","MALWARE_SOURCE_OSV","MALWARE_SOURCE_AMF","MALWARE_SOURCE_INTERNAL"],"type":"string"},"SpecMalwareVersion":{"properties":{"osv_id":{"description":"The status of the malware record.","type":"string"},"version":{"description":"The version of the malware record.","type":"string"}},"type":"object"},"SpecMessage":{"properties":{"role":{"$ref":"#/components/schemas/MessageRole"},"text":{"type":"string"},"tool_calls":{"description":"The tool calls of the message.\nThis is only present if the role is ROLE_TOOLS.\nThis is the list of tools that the LLM needs to call.","items":{"$ref":"#/components/schemas/SpecToolCall"},"type":"array"}},"required":["role"],"type":"object"},"SpecModelAlias":{"description":"ModelAlias maps a platform model to the name the customer's provider\nserves it under.","properties":{"alias":{"description":"Name the customer's provider serves the model under, e.g. an Azure\nOpenAI deployment name. Defaults to the model's own name when unset.","type":"string"},"model":{"$ref":"#/components/schemas/SpecAvailableLLM"}},"required":["model"],"type":"object"},"SpecNotificationDismiss":{"properties":{"category":{"$ref":"#/components/schemas/NotificationDismissNotificationDismissCategory"},"comment":{"type":"string"},"time":{"description":"The time is when the notification was last dismissed.","format":"date-time","type":"string"}},"type":"object"},"SpecNotificationState":{"default":"NOTIFICATION_STATE_UNSPECIFIED","description":" - NOTIFICATION_STATE_OPEN_NOTIFICATION_PENDING: New Notification has been created but notification is pending.\n - NOTIFICATION_STATE_OPEN: New Notification has been created and notification has been sent.\n - NOTIFICATION_STATE_DISMISSED: Notification has been dismissed by the user.\n - NOTIFICATION_STATE_SNOOZED: Notification has been snoozed by the user. Not used yet.\n - NOTIFICATION_STATE_RESOLVED_NOTIFICATION_PENDING: Notification has been resolved but notification is pending.\n - NOTIFICATION_STATE_RESOLVED: Notification has been resolved and the notification has been sent.\n - NOTIFICATION_STATE_DELETED: Notification has been marked for deletion.","enum":["NOTIFICATION_STATE_UNSPECIFIED","NOTIFICATION_STATE_OPEN_NOTIFICATION_PENDING","NOTIFICATION_STATE_OPEN","NOTIFICATION_STATE_DISMISSED","NOTIFICATION_STATE_SNOOZED","NOTIFICATION_STATE_RESOLVED_NOTIFICATION_PENDING","NOTIFICATION_STATE_RESOLVED","NOTIFICATION_STATE_DELETED"],"type":"string"},"SpecNpm":{"properties":{"last_seen_sequence_number":{"type":"string"}},"type":"object"},"SpecOptions":{"properties":{"chat_mode":{"description":"ChatMode is the chat mode that the agent will use.","type":"boolean"},"max_iterations":{"description":"MaxIterations is the maximum number of iterations that the agent will\nuse.","format":"int32","type":"integer"},"seed":{"description":"Seed is used for reproducible LLM outputs. When set to the same value\nwith identical inputs, the LLM will attempt to produce the same output.","format":"int64","type":"string"},"temperature":{"description":"Temperature controls the randomness of the LLM output.\nHigher values (e.g., 1.0) make output more random, while lower values\n(e.g., 0.2) make it more focused and deterministic.\nTypical range is 0.0 to 2.0.","format":"float","type":"number"},"thinking_level":{"$ref":"#/components/schemas/SpecInputThinkingLevel"},"top_p":{"description":"TopP (nucleus sampling) controls diversity by limiting token selection\nto a cumulative probability. For example, 0.1 means only tokens\ncomprising the top 10% probability mass are considered.\nTypical range is 0.0 to 1.0.","format":"float","type":"number"}},"type":"object"},"SpecOutput":{"description":"Output message for the AI request.","properties":{"choices":{"items":{"$ref":"#/components/schemas/OutputChoice"},"type":"array"},"completion_usage":{"$ref":"#/components/schemas/OutputCompletionUsage"},"id":{"description":"The id of the AI request.","type":"string"}},"type":"object"},"SpecPackageCoverage":{"description":"Package coverage and success rates.","properties":{"call_graph_available":{"format":"int32","type":"integer"},"call_graph_errors":{"format":"int32","type":"integer"},"call_graph_success_rate":{"format":"float","type":"number"},"ecosystem_counts":{"additionalProperties":{"format":"int32","type":"integer"},"type":"object"},"ecosystems":{"items":{"$ref":"#/components/schemas/v1Ecosystem"},"type":"array"},"scan_failures":{"format":"int32","type":"integer"},"success_rate":{"format":"float","type":"number"},"total":{"format":"int32","type":"integer"}},"required":["total","scan_failures","success_rate","call_graph_errors","call_graph_available","call_graph_success_rate","ecosystems","ecosystem_counts"],"type":"object"},"SpecPackageManagerStatus":{"properties":{"error_message":{"description":"error_message if any was found.","readOnly":true,"type":"string"},"last_tested_at":{"description":"last_tested_at is the time when the package manager was last tested.","format":"date-time","type":"string"},"state":{"$ref":"#/components/schemas/SpecPackageManagerStatusState"}},"type":"object"},"SpecPackageManagerStatusState":{"default":"STATE_UNSPECIFIED","description":"The status of the package manager.","enum":["STATE_UNSPECIFIED","STATE_SUCCESS","STATE_FAIL"],"type":"string"},"SpecPackageVersionData":{"description":"Data about a deleted package version that helps justify the\nnumber of dependencies and findings deleted by the scan.","properties":{"dependency_count":{"description":"Dependency count.","format":"int32","type":"integer"},"finding_count":{"description":"Finding count.","format":"int32","type":"integer"},"name":{"description":"Package version name.","type":"string"}},"type":"object"},"SpecParameter":{"description":"Parameter can be a string, an integer, or a boolean.","properties":{"bool_value":{"type":"boolean"},"float_value":{"format":"float","type":"number"},"int_value":{"format":"int64","type":"string"},"string_value":{"type":"string"}},"type":"object"},"SpecPatchType":{"default":"PATCH_TYPE_UNSPECIFIED","description":"Specifies if patch request is for a new package version or updates to existing patches.","enum":["PATCH_TYPE_UNSPECIFIED","PATCH_TYPE_NEW","PATCH_TYPE_REFACTOR","PATCH_TYPE_NEWER_VULN"],"type":"string"},"SpecPlatformSourceType":{"default":"PLATFORM_SOURCE_TYPE_UNSPECIFIED","description":"Deprecated: Use platform_type instead.","enum":["PLATFORM_SOURCE_TYPE_UNSPECIFIED","PLATFORM_SOURCE_TYPE_AZURE","PLATFORM_SOURCE_TYPE_BITBUCKET","PLATFORM_SOURCE_TYPE_GITHUB","PLATFORM_SOURCE_TYPE_GITLAB"],"type":"string"},"SpecProvider":{"default":"PROVIDER_UNSPECIFIED","description":"AI providers that support customer-supplied credentials.\n\n - PROVIDER_UNSPECIFIED: No provider selected.\n - PROVIDER_AZURE_OPENAI: OpenAI-family models served from the customer's Azure OpenAI resource.\n - PROVIDER_OPENAI: OpenAI platform (api.openai.com) or an OpenAI-compatible endpoint.\n - PROVIDER_VERTEX_AI: Gemini-family models served from the customer's GCP project through\nVertex AI.\n - PROVIDER_GEMINI: Gemini API accessed with a Google AI Studio API key.","enum":["PROVIDER_UNSPECIFIED","PROVIDER_AZURE_OPENAI","PROVIDER_OPENAI","PROVIDER_VERTEX_AI","PROVIDER_GEMINI"],"type":"string"},"SpecProvisioningConfig":{"description":"Message for provisioning configuration.","properties":{"bazel_remote_cache":{"description":"GRPC address of the bazel remote cache. If enabled, tool chain downloads are cached locally in the cluster.","type":"string"},"enable_build_tools_version_detection":{"description":"Whether build tool detection was enabled.","type":"boolean"},"endorctl_version":{"description":"Endorctl version.","type":"string"},"insecure_sandbox":{"description":"Whether an insecure scanbox was specified.","type":"boolean"},"install_build_tools":{"description":"Whether build tools where installed.","type":"boolean"},"install_build_tools_dependencies":{"description":"Whether install build tools dependencies was enabled.","type":"boolean"},"sandbox_debug":{"description":"Whether sandbox debugging was enabled.","type":"boolean"},"use_automated_scan_parameters":{"description":"Whether use automated scan parameters was enabled.","type":"boolean"}},"type":"object"},"SpecProvisioningResultData":{"properties":{"auto_detect_result":{"$ref":"#/components/schemas/v1AutoDetectResult"},"automated_scan_parameters_config":{"$ref":"#/components/schemas/v1AutomatedScanParametersConfig"},"error":{"description":"Provisioning error message.","type":"string"},"exit_code":{"description":"Provisioning exit code.","format":"int32","type":"integer"},"provisioning_result_uuid":{"description":"UUID of the provisioning result.","type":"string"},"scan_profile":{"$ref":"#/components/schemas/v1ScanProfile"},"tool_chains":{"$ref":"#/components/schemas/v1ToolChains"},"tool_chains_source":{"$ref":"#/components/schemas/v1ToolChainsSource"}},"required":["provisioning_result_uuid"],"type":"object"},"SpecPypi":{"properties":{"last_processed_package_name":{"type":"string"},"last_processed_time":{"format":"date-time","type":"string"}},"type":"object"},"SpecQuota":{"description":"Quota for the Endor Labs license.","properties":{"ai_limit":{"$ref":"#/components/schemas/SpecAILimit"},"max_daily_cloud_scans":{"description":"The maximum number of cloud scans per day.","format":"int32","type":"integer"},"max_daily_pr_scans":{"description":"The maximum number of cloud pr_scans per day.","format":"int32","type":"integer"}},"type":"object"},"SpecRaw":{"properties":{"endor_vulnerability":{"$ref":"#/components/schemas/endorv1Vulnerability"},"epss_record":{"$ref":"#/components/schemas/SpecEPSSRecord"},"kev_record":{"$ref":"#/components/schemas/SpecKEVRecord"},"nvd_vulnerability":{"$ref":"#/components/schemas/v1NVDVulnerability"},"osv_vulnerability":{"$ref":"#/components/schemas/osvVulnerability"}},"type":"object"},"SpecRawMalware":{"description":"Raw source records for accountability, one field per contributing feed.\nOnly the field(s) matching the record's actual source(s) are populated.\nNamed MalwareRaw, not Raw, so its generated OpenAPI definition doesn't collide\nwith Vuln.Spec.Raw's (both are Spec.Raw, which would force the swagger generator\nto fall back to fully-qualified names and rename Vuln's existing definition).","properties":{"amf":{"$ref":"#/components/schemas/SpecAMFRecord"},"internal":{"$ref":"#/components/schemas/SpecInternalRecord"},"osv":{"$ref":"#/components/schemas/osvVulnerability"}},"type":"object"},"SpecRequestTimeRange":{"description":"Time range filtering.","properties":{"end":{"description":"End time for filtering (inclusive).","format":"date-time","type":"string"},"start":{"description":"Start time for filtering (inclusive).","format":"date-time","type":"string"}},"type":"object"},"SpecRequestType":{"default":"REQUEST_TYPE_UNSPECIFIED","description":" - REQUEST_TYPE_CODE_SIGN: Code Sign.","enum":["REQUEST_TYPE_UNSPECIFIED","REQUEST_TYPE_CODE_SIGN"],"type":"string"},"SpecResponseDependencyCounts":{"properties":{"direct":{"description":"Number of direct dependencies.","format":"int32","readOnly":true,"type":"integer"},"outdated":{"description":"Number of outdated dependencies.","format":"int32","readOnly":true,"type":"integer"},"total":{"description":"Total number of dependencies.","format":"int32","readOnly":true,"type":"integer"},"transitive":{"description":"Number of transitive dependencies.","format":"int32","readOnly":true,"type":"integer"},"unmaintained":{"description":"Number of unmaintained dependencies.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"SpecResponseFindingCounts":{"properties":{"critical":{"description":"Number of critical findings.","format":"int32","readOnly":true,"type":"integer"},"dismissed":{"description":"Number of dismissed findings.","format":"int32","readOnly":true,"type":"integer"},"high":{"description":"Number of high severity findings.","format":"int32","readOnly":true,"type":"integer"},"low":{"description":"Number of low severity findings.","format":"int32","readOnly":true,"type":"integer"},"medium":{"description":"Number of medium severity findings.","format":"int32","readOnly":true,"type":"integer"},"total":{"description":"Total number of findings.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"SpecResponseReachabilityRecords":{"description":"Top changed findings, grouped by reachability.","properties":{"potentially_reachable":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"reachable":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"unreachable":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"}},"type":"object"},"SpecResponseSeverityRecords":{"description":"Top changed findings, grouped by severity.","properties":{"critical":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"high":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"low":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"medium":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"},"none":{"$ref":"#/components/schemas/ResponseDiffFindingRecordSet"}},"type":"object"},"SpecResponseTopDependencies":{"properties":{"by_findings":{"description":"Dependencies sorted by finding counts.","items":{"$ref":"#/components/schemas/SpecResponseTopDependenciesDependencyInfo"},"readOnly":true,"type":"array"},"by_reachable_vulnerabilities":{"description":"Dependencies sorted by reachable vulnerability counts.","items":{"$ref":"#/components/schemas/SpecResponseTopDependenciesDependencyInfo"},"readOnly":true,"type":"array"},"by_vulnerabilities":{"description":"Dependencies sorted by vulnerability counts.","items":{"$ref":"#/components/schemas/SpecResponseTopDependenciesDependencyInfo"},"readOnly":true,"type":"array"}},"type":"object"},"SpecResponseTopDependenciesDependencyInfo":{"properties":{"finding_counts":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"name":{"description":"Dependency name.","readOnly":true,"type":"string"},"uuid":{"description":"Dependency UUID.","readOnly":true,"type":"string"},"vulnerability_counts":{"$ref":"#/components/schemas/SpecResponseVulnerabilityCounts"}},"type":"object"},"SpecResponseTopPackages":{"properties":{"by_findings":{"description":"Packages sorted by finding counts.","items":{"$ref":"#/components/schemas/SpecResponseTopPackagesPackageInfo"},"readOnly":true,"type":"array"},"by_outdated_dependencies":{"description":"Packages sorted by outdated dependency counts.","items":{"$ref":"#/components/schemas/SpecResponseTopPackagesPackageInfo"},"readOnly":true,"type":"array"},"by_reachable_vulnerabilities":{"description":"Packages sorted by reachable vulnerability counts.","items":{"$ref":"#/components/schemas/SpecResponseTopPackagesPackageInfo"},"readOnly":true,"type":"array"},"by_unmaintained_dependencies":{"description":"Packages sorted by unmaintained dependency counts.","items":{"$ref":"#/components/schemas/SpecResponseTopPackagesPackageInfo"},"readOnly":true,"type":"array"},"by_vulnerabilities":{"description":"Packages sorted by vulnerability counts.","items":{"$ref":"#/components/schemas/SpecResponseTopPackagesPackageInfo"},"readOnly":true,"type":"array"}},"type":"object"},"SpecResponseTopPackagesPackageInfo":{"properties":{"dependency_counts":{"$ref":"#/components/schemas/SpecResponseDependencyCounts"},"finding_counts":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"name":{"description":"Package name.","readOnly":true,"type":"string"},"uuid":{"description":"Package UUID.","readOnly":true,"type":"string"},"vulnerability_counts":{"$ref":"#/components/schemas/SpecResponseVulnerabilityCounts"}},"type":"object"},"SpecResponseVulnerabilityCounts":{"properties":{"exploitable_likelihood":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"exploitable_likelihood_potentially_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"exploitable_likelihood_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"low_upgrade_risk":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"low_upgrade_risk_potentially_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"low_upgrade_risk_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"normal":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"normal_fixable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"normal_fixable_potentially_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"normal_fixable_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"normal_fixable_unreachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"potentially_reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"reachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"total":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"unreachable":{"$ref":"#/components/schemas/SpecResponseFindingCounts"}},"type":"object"},"SpecSCMCredentialStatus":{"properties":{"error_message":{"description":"error_message if any was found.","readOnly":true,"type":"string"},"last_tested_at":{"description":"last_tested_at is the time when the credential was last tested.","format":"date-time","type":"string"},"state":{"$ref":"#/components/schemas/SpecSCMCredentialStatusState"}},"type":"object"},"SpecSCMCredentialStatusState":{"default":"STATE_UNSPECIFIED","description":"The status of the SCM credential.\n\n - STATE_FAIL: STATE_FAIL covers all failure modes: unreachable host, invalid token,\nand expired token. Inspect error_message for the specific cause.","enum":["STATE_UNSPECIFIED","STATE_SUCCESS","STATE_FAIL"],"type":"string"},"SpecSRRequest":{"properties":{"finding_severities":{"description":"Severities to include in the summary.","items":{"$ref":"#/components/schemas/SpecSecurityReviewLevel"},"type":"array"},"project_filter":{"description":"Filter to select project.","type":"string"},"review_time_config":{"$ref":"#/components/schemas/DashboardConfigReviewTimeConfig"},"time_range":{"$ref":"#/components/schemas/SpecSRRequestTimeRange"},"traverse":{"description":"Whether to traverse child namespaces.","type":"boolean"}},"type":"object"},"SpecSRRequestTimeRange":{"description":"Time range filtering.","properties":{"end":{"description":"End time for filtering (inclusive).","format":"date-time","type":"string"},"start":{"description":"Start time for filtering (inclusive).","format":"date-time","type":"string"}},"type":"object"},"SpecSRResponse":{"properties":{"commits":{"description":"Total number of commits reviewed.","format":"int32","readOnly":true,"type":"integer"},"projects":{"description":"Projects enabled for security review.","format":"int32","readOnly":true,"type":"integer"},"prs_with_summaries":{"description":"Total number of PRs with summaries.","format":"int32","readOnly":true,"type":"integer"},"prs_without_summaries":{"description":"Total number of PRs without summaries.","format":"int32","readOnly":true,"type":"integer"},"pull_requests":{"description":"Pull requests reviewed (latest PR scans only).","format":"int32","readOnly":true,"type":"integer"},"review_time_saved_min":{"description":"Review time saved (in minutes).","format":"double","readOnly":true,"type":"number"},"safe_pull_requests":{"description":"Number of safe pull requests.","format":"int32","readOnly":true,"type":"integer"},"security_review_findings":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"security_reviews":{"description":"Total number of security review performed.","format":"int32","readOnly":true,"type":"integer"},"top_categories":{"description":"Top categories by various metrics.","items":{"$ref":"#/components/schemas/SRResponseCategoryInfo"},"readOnly":true,"type":"array"},"top_languages":{"description":"Top languages by various metrics.","items":{"$ref":"#/components/schemas/SRResponseLanguageInfo"},"readOnly":true,"type":"array"},"top_projects":{"description":"Top projects by various metrics.","items":{"$ref":"#/components/schemas/TopProjectsProjectInfo"},"readOnly":true,"type":"array"}},"type":"object"},"SpecSandboxConfig":{"description":"Message for sandbox configuration.","properties":{"bazel_version":{"description":"Bazel version.","type":"string"},"custom_script_config":{"$ref":"#/components/schemas/SandboxConfigCustomScriptConfig"},"environment_variables":{"description":"Sanbox environment variables.","items":{"type":"string"},"type":"array"},"sandbox_strategy":{"$ref":"#/components/schemas/SandboxConfigSandboxStrategyType"},"writable_paths":{"description":"Sandbox writable paths.","items":{"type":"string"},"type":"array"}},"type":"object"},"SpecScanComponent":{"default":"SCAN_COMPONENT_UNSPECIFIED","description":"Identifies an individual scanner component whose execution\ncontributes towards scan credit usage. Used by the licensing\naggregation job to determine how many credits a scan consumed.\n\n - SCAN_COMPONENT_UNSPECIFIED: No component recorded.\n - SCAN_COMPONENT_SCA: Software Composition Analysis scanner ran.\n - SCAN_COMPONENT_SAST: Static Application Security Testing (semgrep) scanner ran.\n - SCAN_COMPONENT_AI_SAST: AI-assisted SAST scanner ran.\n - SCAN_COMPONENT_SECRETS: Secrets scanner ran.","enum":["SCAN_COMPONENT_UNSPECIFIED","SCAN_COMPONENT_SCA","SCAN_COMPONENT_SAST","SCAN_COMPONENT_AI_SAST","SCAN_COMPONENT_SECRETS"],"type":"string"},"SpecScanCreditGrant":{"description":"ScanCreditGrant captures an additional scan credit bucket granted to a\ntenant outside the standard per-bundle entitlement. CS adds entries via\nServiceRequest when upselling extra credits (typically 10,000 buckets).\nNegative values are allowed to record corrections.","properties":{"credits":{"description":"Number of additional scan credits in this grant. Must be a non-zero\nmultiple of 10,000. Negative values are permitted for corrections.","format":"int64","type":"string"},"granted_at":{"description":"Time at which this grant was applied. Stamped by the backend when the\nentry is first persisted; clients should leave this unset on writes.","format":"date-time","readOnly":true,"type":"string"}},"required":["credits"],"type":"object"},"SpecScanRequestOrigin":{"default":"SCAN_REQUEST_ORIGIN_UNSPECIFIED","enum":["SCAN_REQUEST_ORIGIN_UNSPECIFIED","SCAN_REQUEST_ORIGIN_GITHUB","SCAN_REQUEST_ORIGIN_GITLAB","SCAN_REQUEST_ORIGIN_BITBUCKET","SCAN_REQUEST_ORIGIN_AZURE"],"type":"string"},"SpecScanRequestResult":{"properties":{"ci_run_uuid":{"description":"The execution id of the scan.","type":"string"},"scan_time":{"description":"scan_time in seconds is the total time to process this scan request\ncalculated in seconds.","format":"float","type":"number"},"status":{"$ref":"#/components/schemas/ScanRequestResultScanRequestResultStatus"}},"type":"object"},"SpecScanRequestStatus":{"default":"SCAN_REQUEST_STATUS_UNSPECIFIED","enum":["SCAN_REQUEST_STATUS_UNSPECIFIED","SCAN_REQUEST_STATUS_QUEUED","SCAN_REQUEST_STATUS_IN_PROGRESS","SCAN_REQUEST_STATUS_COMPLETE","SCAN_REQUEST_STATUS_FAILED"],"type":"string"},"SpecScanRequestType":{"default":"SCAN_REQUEST_TYPE_UNSPECIFIED","description":" - SCAN_REQUEST_TYPE_UNSPECIFIED: Type is undefined.\n - SCAN_REQUEST_TYPE_WEBHOOK: SCAN_REQUEST_TYPE_WEBHOOK is a scan is an event driven request.\n - SCAN_REQUEST_TYPE_SCHEDULED: SCAN_REQUEST_TYPE_SCHEDULE is a periodic schedule scan request.\n - SCAN_REQUEST_TYPE_ANALYTICS: SCAN_REQUEST_TYPE_ANALYTICS is a request only for analytics.\n - SCAN_REQUEST_TYPE_FINDING_REFRESH: SCAN_REQUEST_TYPE_FINDING_REFRESH is a lightweight re-evaluation of\nfindings from persisted DependencyMetadata, without a full re-scan of\nthe repository.","enum":["SCAN_REQUEST_TYPE_UNSPECIFIED","SCAN_REQUEST_TYPE_WEBHOOK","SCAN_REQUEST_TYPE_SCHEDULED","SCAN_REQUEST_TYPE_ANALYTICS","SCAN_REQUEST_TYPE_FINDING_REFRESH"],"type":"string"},"SpecSchedulerConfig":{"properties":{"image":{"type":"string"},"max_running_jobs":{"description":"Maximum number of endorctl jobs that can be run concurrently.","format":"int32","type":"integer"},"tag":{"description":"Default will be set to 'latest'.","type":"string"}},"type":"object"},"SpecSecurityAttestation":{"properties":{"patches":{"description":"The list of all new patches applied to the assured package version.","items":{"$ref":"#/components/schemas/SecurityAttestationPatch"},"type":"array"},"validations":{"description":"The list of validations performed on the assured package version.","items":{"$ref":"#/components/schemas/SecurityAttestationValidation"},"type":"array"}},"type":"object"},"SpecSecurityReviewConfiguration":{"description":"SecurityReviewConfiguration is the configuration for the security review.","properties":{"max_pr_reviews_per_month":{"description":"The maximum number of PR reviews per month.","format":"int32","type":"integer"}},"type":"object"},"SpecSecurityReviewLevel":{"default":"SECURITY_REVIEW_LEVEL_UNSPECIFIED","description":"SecurityReviewLevel severity level.\n\n - SECURITY_REVIEW_LEVEL_CRITICAL: Critical Security Review.\n - SECURITY_REVIEW_LEVEL_HIGH: Very important Security Review.\n - SECURITY_REVIEW_LEVEL_MEDIUM: Important Security Review.\n - SECURITY_REVIEW_LEVEL_LOW: Low priority Security Review.","enum":["SECURITY_REVIEW_LEVEL_UNSPECIFIED","SECURITY_REVIEW_LEVEL_CRITICAL","SECURITY_REVIEW_LEVEL_HIGH","SECURITY_REVIEW_LEVEL_MEDIUM","SECURITY_REVIEW_LEVEL_LOW"],"type":"string"},"SpecSecurityReviewScannerParameters":{"properties":{"disable_code_summary":{"description":"disable_code_summary indicates that the code summary part of the\nsecurity review should be disabled whether or not there are findings.","type":"boolean"},"user_prompt":{"description":"user_prompt is the user prompt for the security review scanner.\nit is used to customize the security review scanner and give the\nability to the user to provide their own prompt to customize the\nsecurity review and the findings that are reported. This is optional.","type":"string"}},"type":"object"},"SpecStateStatus":{"default":"STATUS_UNSPECIFIED","description":"Status of a request.","enum":["STATUS_UNSPECIFIED","STATUS_OPENED","STATUS_IN_PROCESS","STATUS_CLOSED","STATUS_WONT_DO","STATUS_DUPLICATE"],"type":"string"},"SpecStorage":{"properties":{"enable_storage_persistence":{"description":"Whether to store the AI request in the database.","type":"boolean"}},"type":"object"},"SpecSupportedVersions":{"properties":{"versions":{"items":{"$ref":"#/components/schemas/v1SupportedVersion"},"type":"array"}},"type":"object"},"SpecTestAttestation":{"properties":{"are_tests_run":{"description":"Flag to identify whether the tests were executed or not.","type":"boolean"},"commands":{"description":"Commands used to test the package version.","items":{"type":"string"},"type":"array"},"logs_upload_content":{"format":"byte","type":"string"},"logs_url":{"description":"The URL to download the test logs.\nThis is a signed URL valid only for four hours.","readOnly":true,"type":"string"}},"type":"object"},"SpecToolCall":{"properties":{"function":{"$ref":"#/components/schemas/ToolCallToolCallFunction"},"id":{"description":"The id of the tool call.","type":"string"}},"required":["id"],"type":"object"},"SpecToolChain":{"properties":{"toolchain":{"additionalProperties":{"$ref":"#/components/schemas/SpecSupportedVersions"},"type":"object"}},"type":"object"},"SpecTools":{"description":"The tools of the AI request.","properties":{"description":{"description":"The description of the tool.","type":"string"},"name":{"description":"The name of the tool.","type":"string"},"schema":{"description":"The schema of input to the tool.","type":"object"}},"required":["name"],"type":"object"},"SpecUITelemetryEvent":{"properties":{"key":{"type":"string"},"properties":{"$ref":"#/components/schemas/googleprotobufAny"},"timestamp":{"format":"date-time","type":"string"},"value":{"type":"string"}},"required":["key","timestamp"],"type":"object"},"SpecUpgradeSummary":{"description":"UpgradeInfo contains the summary of the impact of the upgrade of the package.","properties":{"are_tests_run":{"description":"The flag to identify whether the test were executed or not.","type":"boolean"},"fixed_vulns":{"additionalProperties":{"$ref":"#/components/schemas/UpgradeSummaryVulns"},"title":"Vuln fixed per severity level","type":"object"},"line_added":{"description":"The number of line added with the patches.","format":"int32","type":"integer"},"line_removed":{"description":"The number of line removed with the patches.","format":"int32","type":"integer"},"number_of_endor_patches":{"description":"The number of patches written by Endor Labs.","format":"int32","type":"integer"},"number_of_original_patches":{"description":"The number of patches from the original source.","format":"int32","type":"integer"}},"type":"object"},"SpecUserKind":{"default":"USER_KIND_UNSPECIFIED","description":"UserKind says which kind of identifier the user field carries. Agents\nname their users differently, so the value alone cannot be classified:\na bare login is indistinguishable from an OS login of the same spelling.\nA consumer that joins identities must read this before treating a user\nas an account.\n\n - USER_KIND_UNSPECIFIED: No kind was reported, which is what events from builds older than this\nfield look like. Treat the user field as unclassified rather than as\nany particular kind.\n - USER_KIND_EMAIL: Account email the agent itself reports.\n - USER_KIND_GITHUB_LOGIN: GitHub account handle, which is all GitHub Copilot records locally.\n - USER_KIND_OS_LOGIN: No agent account was resolved, so the user field repeats os_user.\nNever join on this as an account: one shared machine would merge every\ndeveloper who used it into a single identity.\n - USER_KIND_ASSERTED: Identifier supplied by the operator through the environment rather than\nread from the agent, so its shape is whatever the fleet configured.","enum":["USER_KIND_UNSPECIFIED","USER_KIND_EMAIL","USER_KIND_GITHUB_LOGIN","USER_KIND_OS_LOGIN","USER_KIND_ASSERTED"],"type":"string"},"SpecUserTelemetryEvent":{"properties":{"key":{"type":"string"},"properties":{"$ref":"#/components/schemas/googleprotobufAny"},"timestamp":{"format":"date-time","type":"string"},"value":{"type":"string"}},"required":["key","timestamp"],"type":"object"},"SpecVector":{"description":"The vector of the embedding.","properties":{"values":{"items":{"format":"float","type":"number"},"type":"array"}},"type":"object"},"SpecVersionType":{"default":"VERSION_TYPE_UNSPECIFIED","description":" - VERSION_TYPE_UNSPECIFIED: Version type is undefined.\n - VERSION_TYPE_PINNED: Signifies that the version is pinned. For instance v1.2.3-endor-2024-01-01.\n - VERSION_TYPE_LATEST: Signifies that the version is latest. For instance v1.2.3-endor-latest.\n - VERSION_TYPE_AUTO: Signifies that the version is auto. For instance v1.2.3.","enum":["VERSION_TYPE_UNSPECIFIED","VERSION_TYPE_PINNED","VERSION_TYPE_LATEST","VERSION_TYPE_AUTO"],"type":"string"},"SpecVulnerabilityType":{"default":"VULNERABILITY_TYPE_UNSPECIFIED","description":"Enum representing the type of vulnerability.","enum":["VULNERABILITY_TYPE_UNSPECIFIED","VULNERABILITY_TYPE_MALICIOUS"],"type":"string"},"SpecWorkflowResult":{"properties":{"error":{"$ref":"#/components/schemas/WorkflowResultWorkflowResultError"},"provisioning_result_uuid":{"description":"provisioning_result_uuid is the UUID of the ProvisioningResult of the workflow step.","type":"string"},"scan_duration":{"description":"scan_duration is how log the scan ran.","type":"string"},"scan_profile_uuid":{"description":"scan_profile_uuid is the UUID of the ScanProfile of the workflow step.","type":"string"},"scan_result_uuid":{"description":"scan_result_uuid is the UUID of the ScanResult of the workflow step.","type":"string"},"status":{"$ref":"#/components/schemas/ScanResultSpecStatus"},"title":{"description":"title is descriptive text of the workflow step.","type":"string"}},"type":"object"},"SpecWorkflowStep":{"properties":{"disabled":{"description":"disable is a way to disable a WorkflowStep without having to delete it.","type":"boolean"},"scan_profile_uuid":{"description":"scan_profile_uuid is the UUID of the ScanProfile of the workflow step.","type":"string"},"title":{"description":"title is descriptive text of the workflow step.","type":"string"}},"required":["title","scan_profile_uuid"],"type":"object"},"StateComment":{"properties":{"comment":{"type":"string"},"time":{"format":"date-time","type":"string"}},"type":"object"},"SupportAccessRequestServiceCreateSupportAccessRequestBody":{"description":"Implements the API to grant access to support for a given namespace. It will\ncreate an authorization policy that allows access to the support team.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SupportAccessRequestSpec"},"tenant_meta":{"description":"The tenant metadata restricts access to a specific tenant.","title":"The tenant metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"SupportedToolChainVersionServiceCreateSupportedToolChainVersionBody":{"description":"SupportedToolChainVersion represents the versions that are maintained\nby Endor Labs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SupportedToolChainVersionSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"SupportedToolChainVersionServiceUpdateSupportedToolChainVersionBody":{"description":"UpdateSupportedToolChainVersionRequest is used by UpdateSupportedToolChainVersion.","properties":{"object":{"description":"SupportedToolChainVersion represents the versions that are maintained\nby Endor Labs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SupportedToolChainVersionSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"SystemConfigAiConfig":{"description":"AI related system configuration.","properties":{"code_segment_processing":{"description":"Set to true to enable code segment embeddings and LLM processing.\n\nCode segment embeddings and LLM processing are used to improve\nC/C++ and AI-model dependency detection accuracy.\nEndor Labs uses a private Azure OpenAI Service deployment\nthat is isolated from the public internet and cannot be\nused for training.\nThe code segments themselves are never stored anywhere,\nonly the embeddings are saved in the database.","type":"boolean"}},"type":"object"},"SystemConfigAnalyticsConfig":{"properties":{"cvss_version":{"$ref":"#/components/schemas/SpecCVSSVersion"},"enable_finding_prioritization":{"description":"Set to true to enable finding prioritization.","type":"boolean"},"enable_version_upgrade_prioritization":{"description":"Set to true to enable version upgrade prioritization.","type":"boolean"}},"type":"object"},"SystemConfigArtifactoryConfig":{"description":"ArtifactoryConfig contains all artifactory related system configuration.","properties":{"enable_streaming":{"description":"Enable streaming mode.","type":"boolean"}},"type":"object"},"SystemConfigCloudDeploymentConfig":{"description":"CloudDeploymentConfig contains all cloud deployment related configurations.\nThese parameteres can only be modified by the Endor team.","properties":{"nat_network_requests":{"description":"nat_network_requests will force all requests to go through the NAT\nnetwork.","type":"boolean"}},"type":"object"},"SystemConfigEndorIgnoreConfig":{"description":"EndorIgnoreConfig contains all ignore file related system configuration.","properties":{"custom_file_names":{"description":"List of additional supported file names.\n\nBy default, the following file names are supported:\n- .endorignore.yaml\n\nIt is recommended to configure CODEOWNERS for all ignore files,\nincluding the default file names, to enforce an approval process\nfor developer ignore requests.","items":{"type":"string"},"type":"array"},"enable":{"description":"Set to true to enable ignore file support.\n\nThe ignore file must be either a raw list of vulnerability ids\n(one per line), or follow the ignore file YAML syntax.\nUse the endorctl ignore command to automatically generate and\nformat the ignore file.","type":"boolean"}},"type":"object"},"SystemConfigLoggingConfig":{"properties":{"enable_remote_logging":{"description":"Set to true to enable remote logging.","type":"boolean"},"remote_ep":{"description":"Remote logging endpoint.","type":"string"},"remote_log_level":{"$ref":"#/components/schemas/v1LogLevel"}},"type":"object"},"SystemConfigPackageFirewallConfig":{"description":"PackageFirewallConfig contains package firewall configuration for exceptions,\nmalware enforcement, restricted license enforcement, and minimum package age enforcement.\nCached per namespace in endorfactory and enforced on versioned requests.","properties":{"cvss_severity_action":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"cvss_severity_threshold":{"$ref":"#/components/schemas/SpecCVSSSeverityLevel"},"ecosystem_package_manager_uuid":{"additionalProperties":{"type":"string"},"description":"UUID of the PackageManager whose artifact repository serves an ecosystem, keyed by the name of\nthe Ecosystem enum value, for example \"ECOSYSTEM_NPM\". A named ecosystem is served from that\nrepository instead of its public registry.\n\nAn ecosystem absent from the map keeps its public registry, so an empty map preserves current\nbehavior and an ecosystem can be adopted on its own.\n\nOne UUID per ecosystem: a request resolves to exactly one repository, and there is no fallback\nto a second one or to the public registry.\n\nThe referenced PackageManager must live in the same namespace as this config, and its\nAuthProvider.package_manager_type must match the ecosystem its key names, so an \"ECOSYSTEM_NPM\"\nkey cannot point at a Maven repository. The rules below constrain the shape of the value only.\nWhether the UUID names a PackageManager at all, and one of the right kind, is checked against\nthe referenced object.","type":"object"},"exceptions":{"description":"Exception rules. If any exception matches the request, all checks are skipped.","items":{"$ref":"#/components/schemas/PackageFirewallConfigException"},"type":"array"},"fail_closed":{"description":"Whether to fail closed when a firewall decision cannot be reached.","type":"boolean"},"malware_action":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"min_age_action":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"min_age_hours":{"description":"Minimum age in hours for a package to be allowed (0 = disabled).","format":"int32","type":"integer"},"notification_rules":{"description":"Notification rules evaluated when the firewall blocks or warns on a request.\nA rule matches when the event's reason is in reasons (or reasons is empty) and\nits action is in on_actions (or on_actions is empty). Each matching rule sends\na Slack message to every referenced notification target. Only Slack targets\nare supported for now; other target types are skipped.","items":{"$ref":"#/components/schemas/PackageFirewallConfigFirewallNotificationRule"},"type":"array"},"restricted_license_action":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"restricted_licenses":{"description":"List of restricted SPDX license identifiers.\nPackages with these licenses are subject to restricted_license_action.","items":{"type":"string"},"type":"array"}},"type":"object"},"SystemConfigPolicyConfig":{"description":"PolicyConfig contains all policy related system configuration.","properties":{"auto_enable":{"description":"Automatically enable new system policies on release upgrade.","type":"boolean"},"auto_update":{"description":"Automatically update policies if the corresponding policy\ntemplate has changed between releases.","type":"boolean"}},"type":"object"},"SystemConfigSastConfig":{"description":"SastConfig contains all SAST related system configuration.","properties":{"enable_code_snippet_storage":{"description":"Set to true to enable code snippet storage.","type":"boolean"},"enable_semgrep":{"description":"Opt-in for the usage of semgrep.","type":"boolean"}},"type":"object"},"SystemConfigServiceCreateSystemConfigBody":{"description":"SystemConfig represents the system configuration for a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SystemConfigSpec"},"tenant_meta":{"description":"SystemConfig is associated with a tenant and namespace.","title":"SystemConfig is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the system configuration.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"SystemConfigServiceUpdateSystemConfigBody":{"description":"Request to update a system configuration.","properties":{"object":{"description":"SystemConfig represents the system configuration for a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SystemConfigSpec"},"tenant_meta":{"description":"SystemConfig is associated with a tenant and namespace.","title":"SystemConfig is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the system configuration.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"SystemConfigUrgentNotificationConfig":{"description":"Urgent Notification configuration for critical alerts via email or slack.","properties":{"email_addresses":{"description":"List of email addresses to send urgent notifications to.","items":{"type":"string"},"type":"array"},"enable_urgent_notification":{"description":"Set to true to enable urgent notification.","type":"boolean"},"slack_webhook_url":{"description":"Option slack channel webhook URL to send the notification to.","type":"string"},"urgent_notification_threshold":{"$ref":"#/components/schemas/UrgentNotificationConfigUrgentNotificationThreshold"}},"type":"object"},"TableRowGroupServiceCreateTableRowGroupBody":{"description":"TableRowGroup in the main object that contains an ordered list of TableRows\nand TableDescription with general information about the table.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TableRowGroupSpec"},"tenant_meta":{"description":"TableRowGroups are associated with a tenant and namespace.","title":"TableRowGroups are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the table row group.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"TableRowGroupServiceUpdateTableRowGroupBody":{"description":"Request to update a table row group.","properties":{"object":{"description":"TableRowGroup in the main object that contains an ordered list of TableRows\nand TableDescription with general information about the table.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TableRowGroupSpec"},"tenant_meta":{"description":"TableRowGroups are associated with a tenant and namespace.","title":"TableRowGroups are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the table row group.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec","context"],"type":"object"},"TargetTargetType":{"default":"TARGET_TYPE_UNSPECIFIED","description":" - TARGET_TYPE_LANGUAGE: Language target, for example: Go 1.7 or Java 8.\n - TARGET_TYPE_FRAMEWORK: Framework target, for example: spring boot 2.0 or dotnet 4.6.2.\n - TARGET_TYPE_OS: OS target, for example: linux, windows, macos.\n - TARGET_TYPE_CPU_ARCH: CPU architecture target, for example: amd64, arm64, arm.","enum":["TARGET_TYPE_UNSPECIFIED","TARGET_TYPE_LANGUAGE","TARGET_TYPE_FRAMEWORK","TARGET_TYPE_OS","TARGET_TYPE_CPU_ARCH"],"type":"string"},"TelemetryServiceCreateTelemetryBody":{"description":"Telemetry represents the Prometheus metrics obtained from endorctl processes.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TelemetrySpec"},"tenant_meta":{"description":"Namespace of the message that is accessed.","title":"Namespace of the message that is accessed.","type":"object"},"uuid":{"description":"The UUID of the telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"TemplateParameterQueryApiData":{"description":"Information needed to get the list of possible values via the API.\nUI uses the meta.name and meta.description fields to present options.","properties":{"filter":{"description":"Optional database filter for the list query (for example,\n\"spec.origin==\\\"LINTER_RESULT_ORIGIN_SECRETS_SCANNER\\\"\").","type":"string"},"input_field":{"description":"Full name of field in resource object to use as input value to policy\ntemplate (for example, \"spec.sarif_result.rule_id\" or\n\"spec.license_id\").","type":"string"},"namespace":{"description":"Optional value for the namespace to be used when retrieving the\npossible data values.","type":"string"},"resource_kind":{"description":"Resource kind (for example, \"LinterResult\" or \"License\").","type":"string"}},"required":["resource_kind","input_field"],"type":"object"},"TemplateParamsTemplateValue":{"description":"TemplateValue represents a single template parameter name-value pair.","properties":{"name":{"$ref":"#/components/schemas/v1TemplateParamName"},"value":{"description":"The template parameter value.","type":"string"}},"type":"object"},"ToolCallToolCallFunction":{"properties":{"arguments":{"description":"The arguments of the tool.","type":"object"},"description":{"description":"The description of the tool.","type":"string"},"name":{"description":"The name of the tool.","type":"string"},"results":{"description":"The results of the tool.","type":"object"}},"type":"object"},"ToolChainProfileArchitectureToolChain":{"properties":{"arch":{"additionalProperties":{"$ref":"#/components/schemas/v1ToolChains"},"type":"object"}},"type":"object"},"ToolPatternServiceCreateToolPatternBody":{"description":"ToolPattern represents the search pattern data for one tool.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ToolPatternSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the tool pattern.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"ToolPatternServiceUpdateToolPatternBody":{"description":"Request to update a tool pattern.","properties":{"object":{"description":"ToolPattern represents the search pattern data for one tool.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ToolPatternSpec"},"tenant_meta":{"description":"Rules are associated with a tenant and namespace.","title":"Rules are associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the tool pattern.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"TopProjectsProjectInfo":{"properties":{"dependency_counts":{"$ref":"#/components/schemas/SpecResponseDependencyCounts"},"finding_counts":{"$ref":"#/components/schemas/SpecResponseFindingCounts"},"name":{"description":"Project name.","readOnly":true,"type":"string"},"uuid":{"description":"Project UUID.","readOnly":true,"type":"string"},"vulnerability_counts":{"$ref":"#/components/schemas/SpecResponseVulnerabilityCounts"}},"type":"object"},"UISavedViewServiceCreateUISavedViewBody":{"description":"UISavedView persists a view configuration (query values + display\npreferences) over an Endor resource.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate controls the visibility of the saved view in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1UISavedViewSpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the saved view.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"UISavedViewServiceUpdateUISavedViewBody":{"description":"Request to update a UI saved view.","properties":{"object":{"description":"The saved view with updated field values.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate controls the visibility of the saved view in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1UISavedViewSpec"},"tenant_meta":{"description":"The Tenant Metadata restricts access to a specific tenant.","title":"The Tenant Metadata restricts access to a specific tenant.","type":"object"},"uuid":{"description":"The UUID of the saved view.","readOnly":true,"type":"string"}},"title":"The saved view with updated field values.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","spec"],"type":"object"},"UISavedViewViewType":{"default":"VIEW_TYPE_UNSPECIFIED","description":"The UI presentation flavor of the view.\n\n - VIEW_TYPE_UNSPECIFIED: No view type has been set.\n - VIEW_TYPE_TABLE: Tabular (columns + rows) presentation.","enum":["VIEW_TYPE_UNSPECIFIED","VIEW_TYPE_TABLE"],"type":"string"},"UITelemetryServiceCreateUITelemetryBody":{"description":"UITelemetry represents events observered from the Endor UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UITelemetrySpec"},"tenant_meta":{"description":"Namespace where the telemetry events were recorded.","title":"Namespace where the telemetry events were recorded.","type":"object"},"uuid":{"description":"The UUID of the UI telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"UpdateOptionFindingRecordSet":{"description":"One bucket's top changed findings (of the requested record_scope), with\nfixed and introduced kept as separate lists plus their full totals.","properties":{"common":{"description":"Findings present on both the current base and the candidate,\nunaffected by the update. Taken from the current-base side, since\nthose are the finding UUIDs the caller can act on. Populated only\nwhen request.include_common_records is true; capped at\nmax_top_records_per_bucket like fixed and introduced.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"common_num_results":{"description":"Total number of common findings in this bucket (may exceed\nlen(common) when capped, and is always populated regardless of\nrequest.include_common_records).","format":"int32","readOnly":true,"type":"integer"},"fixed":{"description":"Top findings fixed by the update (present on the current base, gone\non the candidate), capped at max_top_records_per_bucket. Rendered\nstruck through in the UI.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"fixed_num_results":{"description":"Total number of fixed findings in this bucket (may exceed len(fixed)\nwhen capped); drives \"View more\" and the count shown by the UI.","format":"int32","readOnly":true,"type":"integer"},"introduced":{"description":"Top findings introduced by the update (absent on the current base,\npresent on the candidate), capped at max_top_records_per_bucket.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"},"introduced_num_results":{"description":"Total number of introduced findings in this bucket (may exceed\nlen(introduced) when capped).","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"UpgradeSummaryVulns":{"properties":{"vulns":{"items":{"$ref":"#/components/schemas/v1Vuln"},"type":"array"}},"type":"object"},"UrgentNotificationConfigUrgentNotificationThreshold":{"default":"URGENT_NOTIFICATION_THRESHOLD_UNSPECIFIED","description":" - URGENT_NOTIFICATION_THRESHOLD_UNSPECIFIED: Unspecified default value.\n - URGENT_NOTIFICATION_THRESHOLD_DEFINITELY_AFFECTED: Notification setting for specific package versions that are definitely\naffected.\n - URGENT_NOTIFICATION_THRESHOLD_POTENTIALLY_AFFECTED: Notification setting for specific package versions that are potentially\naffected. Example: npm:abc@1.0.2 is affected. If set, this will notify\nfor npm:abc all versions.","enum":["URGENT_NOTIFICATION_THRESHOLD_UNSPECIFIED","URGENT_NOTIFICATION_THRESHOLD_DEFINITELY_AFFECTED","URGENT_NOTIFICATION_THRESHOLD_POTENTIALLY_AFFECTED"],"type":"string"},"UserInfoResponseTenantInfo":{"properties":{"expiry":{"description":"The timestamp indicating when the tenant is scheduled to expire.","format":"date-time","type":"string"},"license_type":{"$ref":"#/components/schemas/SpecEndorLicenseType"},"name":{"description":"The tenant name.","readOnly":true,"type":"string"},"organizational_entity_name":{"readOnly":true,"title":"The human-readable name of the organization associated with this tenant","type":"string"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"type":"object"},"UserTelemetryServiceCreateUserTelemetryBody":{"description":"UserTelemetry represents user-specific events observered from the Endor Labs UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UserTelemetrySpec"},"tenant_meta":{"description":"Namespace where the telemetry events were recorded.","title":"Namespace where the telemetry events were recorded.","type":"object"},"uuid":{"description":"The UUID of the user telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"UserTelemetryServiceUpdateUserTelemetryBody":{"description":"Request to update a user telemetry.","properties":{"object":{"description":"UserTelemetry represents user-specific events observered from the Endor Labs UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UserTelemetrySpec"},"tenant_meta":{"description":"Namespace where the telemetry events were recorded.","title":"Namespace where the telemetry events were recorded.","type":"object"},"uuid":{"description":"The UUID of the user telemetry.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"VEXExportServiceCreateVEXExportBody":{"description":"The request to the VEX export API.\nIt consists of the request resource kind.\nThe UUID is the uuid of the resource.\nThe output is the format to export the VEX.\nThe VEX kind is the kind of the VEX requested by the user. Currently, we support only CycloneDx.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExportedVEXSpec"},"tenant_meta":{"description":"SBOM are associated with a tenant and tenant information must be provided.","title":"SBOM are associated with a tenant and tenant information must be provided.","type":"object"},"uuid":{"description":"The UUID of the VEX.","readOnly":true,"type":"string"}},"type":"object"},"VantaConfigVantaAccessTokenAuth":{"properties":{"access_token":{"readOnly":true,"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"VantaConfigVantaAuthMethod":{"default":"VANTA_AUTH_METHOD_UNSPECIFIED","description":" - VANTA_AUTH_METHOD_ACCESS_TOKEN: Uses basic username and password and retrieves an ephemeral access token for authentication.\n - VANTA_AUTH_METHOD_ACCESS_API_KEY: Uses an API key provided by the user.\n\nNote: This is just a placeholder and not yet implemented.","enum":["VANTA_AUTH_METHOD_UNSPECIFIED","VANTA_AUTH_METHOD_ACCESS_TOKEN","VANTA_AUTH_METHOD_ACCESS_API_KEY"],"type":"string"},"VectorStoreDataDeleteQueryServiceCreateVectorStoreDataDeleteQueryBody":{"description":"VectorStoreDataDeleteQuery deletes documents matching filter whose uniqueness\nfield values are NOT in the provided retain set. This is a generic \"prune\" operation\nuseful for incremental index refresh.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataDeleteQuerySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreDataDocumentConsistencyQueryServiceCreateVectorStoreDataDocumentConsistencyQueryBody":{"description":"VectorStoreDataDocumentConsistencyQuery checks which documents need to be updated in a vector store.\nThis is a lightweight check that only requires uniqueness fields and content hash,\navoiding the need to send full document content over the wire.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataDocumentConsistencyQuerySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreDataMetadataUpdateQueryServiceCreateVectorStoreDataMetadataUpdateQueryBody":{"description":"VectorStoreDataMetadataUpdateQuery patches the metadata of stored documents\nwithout touching their content or embeddings.\n\nRe-uploading a document cannot do this: the upload path skips any document\nwhose uniqueness key and content hash already match what is stored, so a\nmetadata-only change is silently dropped. Deleting and re-adding would work\nbut re-embeds every document and leaves a window where the document is\nmissing, which for summary stores means an interrupted run re-pays the LLM\nthat produced it. This applies the patch in place instead.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataMetadataUpdateQuerySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreDataServiceCreateVectorStoreDataBody":{"description":"VectorStoreData is the message for uploading data to the vector store.\nIt allows batch uploads.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreMetadataQueryServiceCreateVectorStoreMetadataQueryBody":{"description":"VectorStoreMetadataQuery is the message to query the vector store by metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreMetadataQuerySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreQueryServiceCreateVectorStoreQueryBody":{"description":"VectorStoreQuery is the message to query the vector store.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreQuerySpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"VectorStoreServiceCreateVectorStoreBody":{"description":"Represents a vector store in the system. The vector store will create all\nthe infrastructure for semantic searches.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Vector stores can be propagated and accessed in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1VectorStoreSpec"},"tenant_meta":{"description":"VectorStores are associated with a tenant or are global.","title":"VectorStores are associated with a tenant or are global.","type":"object"},"uuid":{"description":"The UUID of an VectorStore.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"VendorVexStatementServiceCreateVendorVexStatementBody":{"description":"VendorVexStatement records the vulnerabilities a third-party vendor has already\nfixed in one exact rebuilt package version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VendorVexStatementSpec"},"tenant_meta":{"description":"The statement is associated with a tenant and namespace.","title":"The statement is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the statement.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"VendorVexStatementServiceUpdateVendorVexStatementBody":{"description":"Request to update a vendor VEX statement.","properties":{"object":{"description":"The vendor VEX statement to update.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VendorVexStatementSpec"},"tenant_meta":{"description":"The statement is associated with a tenant and namespace.","title":"The statement is associated with a tenant and namespace.","type":"object"},"uuid":{"description":"The UUID of the statement.","readOnly":true,"type":"string"}},"title":"The vendor VEX statement to update.","type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["meta","spec"],"type":"object"},"VersionDiffResultRepeatedString":{"properties":{"values":{"items":{"type":"string"},"type":"array"}},"type":"object"},"VersionUpgradeServiceCreateVersionUpgradeBody":{"description":"VersionUpgrade contains all information about a possible version upgrade of a dependency package.\nThis upgrade object can be under a project or a package version object.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VersionUpgradeSpec"},"tenant_meta":{"description":"Tenant metadata information.","title":"Tenant metadata information.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","context"],"type":"object"},"VersionUpgradeServiceUpdateVersionUpgradeBody":{"description":"Request to update a version upgrade.","properties":{"object":{"description":"VersionUpgrade contains all information about a possible version upgrade of a dependency package.\nThis upgrade object can be under a project or a package version object.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VersionUpgradeSpec"},"tenant_meta":{"description":"Tenant metadata information.","title":"Tenant metadata information.","type":"object"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"type":"object"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"required":["tenant_meta","meta","context"],"type":"object"},"VersionUpgradeUpgradeList":{"properties":{"upgrade_list":{"items":{"$ref":"#/components/schemas/v1ReleaseUpgradeInfo"},"type":"array"}},"type":"object"},"VulnSpecAffected":{"properties":{"affected_callpath_uris":{"description":"Affected function URIs in FastenURI format.\nFor example,\n\"/com.atlassian.connect.spring.internal.lifecycle/LifecycleController.installed(%2Fcom.atlassian.connect.spring.internal.lifecycle%2FLifecycleEvent,%2Fcom.atlassian.connect.spring%2FAtlassianHostUser)%2Forg.springframework.http%2FResponseEntity\".","items":{"type":"string"},"type":"array"},"affected_filepaths":{"description":"Class name that this vulnerability affects in JVM notation.\nFor example,\n\"com/atlassian/connect/spring/internal/lifecycle/LifecycleController.class\".","items":{"type":"string"},"type":"array"},"database_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the database for which the record applies.","type":"object"},"ecosystem_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the ecosystem for which the record applies.","type":"object"},"fix_commits":{"items":{"type":"string"},"title":"Links to the commits that fix the vulnerability","type":"array"},"has_been_fixed":{"type":"boolean"},"maintainer_cvss_level":{"$ref":"#/components/schemas/SpecCVSSSeverityLevel"},"maintainer_severity":{"$ref":"#/components/schemas/CVSSV3SeverityLevel"},"package":{"$ref":"#/components/schemas/SpecAffectedPackage"},"ranges":{"items":{"$ref":"#/components/schemas/SpecAffectedRange"},"type":"array"},"reachable_by_inclusion":{"description":"The vulnerability is assumed reachable whenever this package is\nincluded; there are no affected function URIs for call-path analysis.","type":"boolean"},"source":{"$ref":"#/components/schemas/AffectedSource"},"versions":{"items":{"type":"string"},"type":"array"}},"type":"object"},"VulnSpecCredit":{"properties":{"contact":{"description":"Contact methods (URLs).","items":{"type":"string"},"type":"array"},"name":{"description":"The name to give the credit.","type":"string"}},"type":"object"},"VulnSpecReference":{"properties":{"type":{"$ref":"#/components/schemas/ReferenceReferenceType"},"url":{"description":"The vulnerability URL.","type":"string"}},"required":["type","url"],"type":"object"},"VulnerabilityComponent":{"properties":{"artifact_id":{"description":"Indicates the artifact artifact_id that the CVE affects.","type":"string"},"endor_uri":{"description":"Affected function URIs in FastenURI format.\nFor example,\n\"/com.atlassian.connect.spring.internal.lifecycle/LifecycleController.installed(%2Fcom.atlassian.connect.spring.internal.lifecycle%2FLifecycleEvent,%2Fcom.atlassian.connect.spring%2FAtlassianHostUser)%2Forg.springframework.http%2FResponseEntity\".","items":{"type":"string"},"type":"array"},"fixed_versions":{"description":"A list of all fixed versions.\nCan be more than one if the fix is applied on multiple release branches.","items":{"type":"string"},"type":"array"},"group_id":{"description":"Indicates the artifact group id that the CVE affects.","type":"string"},"reachable_by_inclusion":{"description":"The vulnerability is assumed reachable due to how the artifact is\ntypically used; endor_uri is empty and call-path analysis does not apply.\nThe json_name pins the curated feed's key for protojson parsing.","type":"boolean"},"versions_range":{"description":"Vulnerable version range in Maven notation. For example, \"[1.1.0,2.1.3)\".","items":{"type":"string"},"type":"array"},"vulnerable_filepath":{"description":"Class name that this vulnerability affects in JVM notation.\nFor example,\n\"com/atlassian/connect/spring/internal/lifecycle/LifecycleController.class\".","items":{"type":"string"},"type":"array"},"vulnerable_versions":{"description":"A list of all affected artifact versions.","items":{"type":"string"},"type":"array"}},"required":["group_id","artifact_id"],"type":"object"},"VulnerabilityServiceCreateVulnerabilityBody":{"description":"Vuln represents an Endor Labs vulnerability in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VulnSpec"},"tenant_meta":{"description":"Tenant related data for the tenant containing the resource.","type":"object"},"uuid":{"description":"The UUID of a vulnerability.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"WebhookConfigWebhookAuthMethod":{"default":"WEBHOOK_AUTH_METHOD_UNSPECIFIED","description":" - WEBHOOK_AUTH_METHOD_NONE: Uses no authentication. Not recommended.\n - WEBHOOK_AUTH_METHOD_BASIC: Uses basic username and password.\n - WEBHOOK_AUTH_METHOD_API_KEY: Uses an API key as credentials.","enum":["WEBHOOK_AUTH_METHOD_UNSPECIFIED","WEBHOOK_AUTH_METHOD_NONE","WEBHOOK_AUTH_METHOD_BASIC","WEBHOOK_AUTH_METHOD_API_KEY"],"type":"string"},"WebhookConfigWebhookBasicAuth":{"properties":{"password":{"type":"string"},"username":{"type":"string"}},"type":"object"},"WebhookConfigWebhookHeader":{"description":"A single HTTP header attached to every webhook request, regardless of\nthe configured auth_method. Use this for vendor-specific auth headers\n(e.g., DD-API-KEY for Datadog) or arbitrary metadata headers.","properties":{"name":{"description":"Header name. Must be a valid RFC 7230 token (letters, digits, and\n!#$%\u0026'*+-.^_`|~). Reserved names (Content-Type, Authorization when an\nauth_method other than NONE is set, X-Endor-HMAC-Signature, and\nhop-by-hop headers) are rejected at send time.","type":"string"},"value":{"description":"Header value sent verbatim. Stored as a secret (encrypted at rest,\nredacted in API responses) because values often hold API keys.","type":"string"}},"required":["name","value"],"type":"object"},"WorkflowAllSecretsExposed":{"description":"AllSecretsExposed defines the exposure of the 'secrets' object.","properties":{"evidence":{"description":"Matched keyword from the content of the line.","type":"string"},"line_content":{"description":"Content of the line exposing full 'secrets' object.","type":"string"},"location_uri":{"description":"Full path of exposed 'secrets' object with the line number.","type":"string"}},"type":"object"},"WorkflowGHTokenPermission":{"default":"GH_TOKEN_PERMISSION_UNSPECIFIED","description":"GHTokenPermission represents the possible permissions assignable to GITHUB_TOKEN used by the workflow.","enum":["GH_TOKEN_PERMISSION_UNSPECIFIED","GH_TOKEN_PERMISSION_ACTION_NONE","GH_TOKEN_PERMISSION_ACTION_READ","GH_TOKEN_PERMISSION_ACTION_WRITE","GH_TOKEN_PERMISSION_CHECKS_NONE","GH_TOKEN_PERMISSION_CHECKS_READ","GH_TOKEN_PERMISSION_CHECKS_WRITE","GH_TOKEN_PERMISSION_CONTENTS_NONE","GH_TOKEN_PERMISSION_CONTENTS_READ","GH_TOKEN_PERMISSION_CONTENTS_WRITE","GH_TOKEN_PERMISSION_DEPLOYMENTS_NONE","GH_TOKEN_PERMISSION_DEPLOYMENTS_READ","GH_TOKEN_PERMISSION_DEPLOYMENTS_WRITE","GH_TOKEN_PERMISSION_IDTOKEN_NONE","GH_TOKEN_PERMISSION_IDTOKEN_READ","GH_TOKEN_PERMISSION_IDTOKEN_WRITE","GH_TOKEN_PERMISSION_ISSUES_NONE","GH_TOKEN_PERMISSION_ISSUES_READ","GH_TOKEN_PERMISSION_ISSUES_WRITE","GH_TOKEN_PERMISSION_DISCUSSIONS_NONE","GH_TOKEN_PERMISSION_DISCUSSIONS_READ","GH_TOKEN_PERMISSION_DISCUSSIONS_WRITE","GH_TOKEN_PERMISSION_PACKAGES_NONE","GH_TOKEN_PERMISSION_PACKAGES_READ","GH_TOKEN_PERMISSION_PACKAGES_WRITE","GH_TOKEN_PERMISSION_PAGES_NONE","GH_TOKEN_PERMISSION_PAGES_READ","GH_TOKEN_PERMISSION_PAGES_WRITE","GH_TOKEN_PERMISSION_PULLREQUESTS_NONE","GH_TOKEN_PERMISSION_PULLREQUESTS_READ","GH_TOKEN_PERMISSION_PULLREQUESTS_WRITE","GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_NONE","GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_READ","GH_TOKEN_PERMISSION_REPOSITORYPROJECTS_WRITE","GH_TOKEN_PERMISSION_SECURITYEVENTS_NONE","GH_TOKEN_PERMISSION_SECURITYEVENTS_READ","GH_TOKEN_PERMISSION_SECURITYEVENTS_WRITE","GH_TOKEN_PERMISSION_STATUSES_NONE","GH_TOKEN_PERMISSION_STATUSES_READ","GH_TOKEN_PERMISSION_STATUSES_WRITE"],"type":"string"},"WorkflowResultWorkflowResultError":{"properties":{"code":{"$ref":"#/components/schemas/v1EndorctlRC"},"error":{"description":"error is the message of the workflow step failure.","type":"string"}},"type":"object"},"clientBucket":{"description":"A Bucket of a conventional histogram, each of which is treated as\nan individual counter-like time series by Prometheus.","properties":{"cumulative_count":{"description":"Cumulative in increasing order.","format":"uint64","type":"string"},"cumulative_count_float":{"description":"Overrides cumulative_count if \u003e 0.","format":"double","type":"number"},"exemplar":{"$ref":"#/components/schemas/clientExemplar"},"upper_bound":{"description":"Inclusive.","format":"double","type":"number"}},"type":"object"},"clientBucketSpan":{"description":"A BucketSpan defines a number of consecutive buckets in a native\nhistogram with their offset. Logically, it would be more\nstraightforward to include the bucket counts in the Span. However,\nthe protobuf representation is more compact in the way the data is\nstructured here (with all the buckets in a single array separate\nfrom the Spans).","properties":{"length":{"description":"Length of consecutive buckets.","format":"int64","type":"integer"},"offset":{"description":"Gap to previous span, or starting point for 1st span (which can be negative).","format":"int32","type":"integer"}},"type":"object"},"clientCounter":{"properties":{"created_timestamp":{"format":"date-time","type":"string"},"exemplar":{"$ref":"#/components/schemas/clientExemplar"},"value":{"format":"double","type":"number"}},"type":"object"},"clientExemplar":{"properties":{"label":{"items":{"$ref":"#/components/schemas/clientLabelPair"},"type":"array"},"timestamp":{"description":"OpenMetrics-style.","format":"date-time","type":"string"},"value":{"format":"double","type":"number"}},"type":"object"},"clientGauge":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"clientHistogram":{"properties":{"bucket":{"description":"Buckets for the conventional histogram.\n\nOrdered in increasing order of upper_bound, +Inf bucket is optional.","items":{"$ref":"#/components/schemas/clientBucket"},"type":"array"},"created_timestamp":{"format":"date-time","type":"string"},"exemplars":{"description":"Only used for native histograms. These exemplars MUST have a timestamp.","items":{"$ref":"#/components/schemas/clientExemplar"},"type":"array"},"negative_count":{"description":"Absolute count of each bucket.","items":{"format":"double","type":"number"},"type":"array"},"negative_delta":{"description":"Use either \"negative_delta\" or \"negative_count\", the former for\nregular histograms with integer counts, the latter for float\nhistograms.\n\nCount delta of each bucket compared to previous one (or to zero for 1st bucket).","items":{"format":"int64","type":"string"},"type":"array"},"negative_span":{"description":"Negative buckets for the native histogram.","items":{"$ref":"#/components/schemas/clientBucketSpan"},"type":"array"},"positive_count":{"description":"Absolute count of each bucket.","items":{"format":"double","type":"number"},"type":"array"},"positive_delta":{"description":"Use either \"positive_delta\" or \"positive_count\", the former for\nregular histograms with integer counts, the latter for float\nhistograms.\n\nCount delta of each bucket compared to previous one (or to zero for 1st bucket).","items":{"format":"int64","type":"string"},"type":"array"},"positive_span":{"description":"Positive buckets for the native histogram.\nUse a no-op span (offset 0, length 0) for a native histogram without any\nobservations yet and with a zero_threshold of 0. Otherwise, it would be\nindistinguishable from a classic histogram.","items":{"$ref":"#/components/schemas/clientBucketSpan"},"type":"array"},"sample_count":{"format":"uint64","type":"string"},"sample_count_float":{"description":"Overrides sample_count if \u003e 0.","format":"double","type":"number"},"sample_sum":{"format":"double","type":"number"},"schema":{"description":"schema defines the bucket schema. Currently, valid numbers are -4 \u003c= n \u003c= 8.\nThey are all for base-2 bucket schemas, where 1 is a bucket boundary in each case, and\nthen each power of two is divided into 2^n logarithmic buckets.\nOr in other words, each bucket boundary is the previous boundary times 2^(2^-n).\nIn the future, more bucket schemas may be added using numbers \u003c -4 or \u003e 8.","format":"int32","type":"integer"},"zero_count":{"description":"Count in zero bucket.","format":"uint64","type":"string"},"zero_count_float":{"description":"Overrides sb_zero_count if \u003e 0.","format":"double","type":"number"},"zero_threshold":{"description":"Breadth of the zero bucket.","format":"double","type":"number"}},"type":"object"},"clientLabelPair":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"type":"object"},"clientMetricFamily":{"properties":{"help":{"type":"string"},"metric":{"items":{"$ref":"#/components/schemas/prometheusclientMetric"},"type":"array"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/clientMetricType"},"unit":{"type":"string"}},"type":"object"},"clientMetricType":{"default":"COUNTER","description":" - COUNTER: COUNTER must use the Metric field \"counter\".\n - GAUGE: GAUGE must use the Metric field \"gauge\".\n - SUMMARY: SUMMARY must use the Metric field \"summary\".\n - UNTYPED: UNTYPED must use the Metric field \"untyped\".\n - HISTOGRAM: HISTOGRAM must use the Metric field \"histogram\".\n - GAUGE_HISTOGRAM: GAUGE_HISTOGRAM must use the Metric field \"histogram\".","enum":["COUNTER","GAUGE","SUMMARY","UNTYPED","HISTOGRAM","GAUGE_HISTOGRAM"],"type":"string"},"clientQuantile":{"properties":{"quantile":{"format":"double","type":"number"},"value":{"format":"double","type":"number"}},"type":"object"},"clientSummary":{"properties":{"created_timestamp":{"format":"date-time","type":"string"},"quantile":{"items":{"$ref":"#/components/schemas/clientQuantile"},"type":"array"},"sample_count":{"format":"uint64","type":"string"},"sample_sum":{"format":"double","type":"number"}},"type":"object"},"clientUntyped":{"properties":{"value":{"format":"double","type":"number"}},"type":"object"},"endorv1BasicAuth":{"description":"BasicAuth carries username + password for HTTP Basic registry auth.","properties":{"password":{"description":"The password for HTTP Basic registry auth.","type":"string"},"username":{"description":"The username for HTTP Basic registry auth.","type":"string"}},"type":"object"},"endorv1ConfidenceLevel":{"default":"CONFIDENCE_LEVEL_UNSPECIFIED","description":"Protobuf definition for ConfidenceLevel.","enum":["CONFIDENCE_LEVEL_UNSPECIFIED","CONFIDENCE_LEVEL_UNKNOWN","CONFIDENCE_LEVEL_HIGH","CONFIDENCE_LEVEL_MEDIUM","CONFIDENCE_LEVEL_LOW"],"type":"string"},"endorv1FindingCounts":{"description":"Counts of findings broken down by severity.\nA dismissed finding is counted only in dismissed, never in total or in one of the severities.","properties":{"critical":{"description":"Number of critical findings.","format":"int32","type":"integer"},"dismissed":{"description":"Number of dismissed findings.","format":"int32","type":"integer"},"high":{"description":"Number of high severity findings.","format":"int32","type":"integer"},"low":{"description":"Number of low severity findings.","format":"int32","type":"integer"},"medium":{"description":"Number of medium severity findings.","format":"int32","type":"integer"},"total":{"description":"Total number of findings.","format":"int32","type":"integer"}},"type":"object"},"endorv1Job":{"description":"The Job represents a background task that is executed by the Job Service.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JobSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a Job.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"endorv1License":{"description":"Represents a license in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1LicenseSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a license.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"endorv1Metric":{"description":"This contains the definition all metrics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MetricSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the the metric resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"endorv1NotificationAction":{"description":"Implements the notification action.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1NotificationActionResponse"},"spec":{"$ref":"#/components/schemas/v1NotificationActionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"endorv1Package":{"description":"Package represents a package of a project.\n\nFor Golang:\nEvery golang package of a repository will be an package. For instance\ngithub.com/yarpc/yarpc-go/pkg/encoding is a package of the project github.com/yarpc/yarpc-go.\n\nFor Java:\nEvery artifact of a Java repository will be a package. For instance\ngithub.com/apache/logging-log4j2/log4j-api is a package of the project github.com/apache/logging-log4j2.\n\nThe uuid of the parent project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for a package.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"endorv1Tag":{"description":"The list of tags associated with commits. It is used to mark an individual point in the source control repository's history.","properties":{"commit_date":{"format":"date-time","title":"The commit date of the tag","type":"string"},"name":{"description":"The display name of a tag.","type":"string"},"sha":{"description":"The commit SHA of tag references.","type":"string"}},"type":"object"},"endorv1VersionMetadata":{"properties":{"checksums":{"description":"A list of checksum types.","items":{"$ref":"#/components/schemas/v1Checksum"},"type":"array"},"consumed":{"description":"Set to true once the corresponding source metadata has been created.","type":"boolean"},"eol_timestamp":{"description":"End of life timestamp the package version if known.","format":"date-time","type":"string"},"last_package_info_attempt":{"description":"The last time a per-version PackageInfo enrichment call succeeded for this\nversion. Distinct from last_updated (field 8), which only records that the\nregistry's bulk version listing returned this version. A non-nil value means\nPackageInfo ran and we hold the best enrichment data the registry will give\nus, even if that data is empty (for example tarball-only releases with no\ndeclared license or source code URL). Consumers use this to decide whether a\nper-version enrichment call is still needed.","format":"date-time","type":"string"},"last_updated":{"description":"The last time that this particular version was re-synced with the source.","format":"date-time","type":"string"},"license":{"description":"Raw license information as returned by the package manager.","items":{"type":"string"},"type":"array"},"license_info":{"description":"Detailed license information populated by Endor.","items":{"$ref":"#/components/schemas/v1LicenseInfo"},"type":"array"},"lts":{"description":"Set to true if a version is a long-term support (LTS) version.","type":"boolean"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"release_time":{"format":"date-time","type":"string"},"source_code_ref":{"description":"The source code reference if known.\nOptional. This can be a tag or a commit SHA.","type":"string"},"source_code_url":{"description":"Source code URL of the package if known.","type":"string"},"version":{"title":"The version of the package.\nFor example - 5.23.4","type":"string"}},"required":["version","release_time","license"],"type":"object"},"endorv1Vulnerability":{"description":"Vulnerability models information that can be extracted by analyzing CVEs.","properties":{"additional_notes":{"description":"Notes by the person that processed the CVE.","type":"string"},"component":{"description":"Information about affected artifacts, versions\nand function identifiers.","items":{"$ref":"#/components/schemas/VulnerabilityComponent"},"type":"array"},"cve_description":{"description":"A freeform textual summary of the vulnerability.","type":"string"},"cve_id":{"description":"The CVE ID, as it appears in the NVD. For example, CVE-2021-36090.","type":"string"},"cve_references":{"items":{"type":"string"},"title":"Web links containing extra information about the CVE","type":"array"},"cvss_score":{"description":"The Common Vulnerability Scoring System (CVSS score) provides a numerical\n(0-10) representation of the severity of an information security\nvulnerability.","format":"float","type":"number"},"cvss_vector":{"title":"A specially formatted vector indicating the attack surface and severity of\nthe vulnerability. Format is here:\nhttps://www.first.org/cvss/specification-document","type":"string"},"cwe":{"title":"The Common Weakness Enumeration field, if any.\nSee: https://cwe.mitre.org","type":"string"},"deepdive":{"description":"Indicates whether the research team performed full analysis on multiple\nartifact_ids involved in CVE.","type":"boolean"},"disputed":{"description":"Indicates whether the research team considers a CVE should be disputed\nbased on analysis.","type":"boolean"},"ecosystem":{"title":"A free form name of the ecosystem, e.g. Maven","type":"string"},"fix_commit":{"items":{"type":"string"},"title":"Links to the commit(s) that fix the vulnerability","type":"array"},"last_updated":{"description":"The timestamp when the vulnerability was last updated.","format":"date-time","type":"string"},"malicious":{"description":"Indicates whether this item is classified as malicious or not.","type":"boolean"},"nofix":{"description":"Indicates whether the fix is not released or not disclosed for a CVE.\nIn such cases, the endor_uri string might not be available.","type":"boolean"},"package_name":{"title":"A free form name of the affected package / project, e.g. Apache\ncommons-compress","type":"string"},"schema_version":{"description":"The schema version used for this vulnerability descriptor.","type":"string"},"withdrawn":{"description":"Indicates whether the underlying vulnerability has been withdrawn.","format":"date-time","type":"string"}},"required":["cve_id","cve_description","package_name","ecosystem","schema_version"],"type":"object"},"googleprotobufAny":{"additionalProperties":{},"description":"`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(\u0026foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := \u0026pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := \u0026pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": \u003cstring\u003e,\n      \"lastName\": \u003cstring\u003e\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }","properties":{"@type":{"description":"A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.","type":"string"}},"type":"object"},"googlerpcStatus":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code].","format":"int32","type":"integer"},"details":{"description":"A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.","items":{"$ref":"#/components/schemas/googleprotobufAny"},"type":"array"},"message":{"description":"A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client.","type":"string"}},"type":"object"},"osvAffected":{"description":"Affected versions and commits.","properties":{"database_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the database for which the record applies.","type":"object"},"ecosystem_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the ecosystem for which the record applies.","type":"object"},"package":{"$ref":"#/components/schemas/osvPackage"},"ranges":{"description":"Required. Range information.","items":{"$ref":"#/components/schemas/osvRange"},"type":"array"},"versions":{"description":"Optional. List of affected versions.","items":{"type":"string"},"type":"array"}},"type":"object"},"osvCredit":{"properties":{"contact":{"description":"Contact methods (URLs).","items":{"type":"string"},"type":"array"},"name":{"description":"The name to give credit to.","type":"string"}},"type":"object"},"osvEvent":{"description":"Version events.","properties":{"fixed":{"description":"The version/commit that this vulnerability was fixed in.","type":"string"},"introduced":{"description":"The earliest version/commit where this vulnerability\nwas introduced in.","type":"string"},"limit":{"description":"The limit to apply to the range.","type":"string"}},"type":"object"},"osvPackage":{"description":"Package information and version.","properties":{"ecosystem":{"description":"Required. The ecosystem for this package. \nFor the complete list of valid ecosystem names, see\n\u003chttps://ossf.github.io/osv-schema/#affectedpackage-field\u003e.","type":"string"},"name":{"description":"Required. Name of the package. Should match the name used in the package\necosystem (e.g. the npm package name). For C/C++ projects integrated in\nOSS-Fuzz, this is the name used for the integration.","type":"string"},"purl":{"description":"Optional. The package URL for this package.","type":"string"}},"type":"object"},"osvRange":{"description":"Affected ranges.","properties":{"events":{"description":"Required. Version event information.","items":{"$ref":"#/components/schemas/osvEvent"},"type":"array"},"repo":{"description":"Required if type is GIT. The publicly accessible URL of the repo that can\nbe directly passed to clone commands.","type":"string"},"type":{"$ref":"#/components/schemas/osvRangeType"}},"type":"object"},"osvRangeType":{"default":"UNSPECIFIED","description":"Type of the version information.","enum":["UNSPECIFIED","GIT","SEMVER","ECOSYSTEM"],"type":"string"},"osvReference":{"description":"Reference URL.","properties":{"type":{"$ref":"#/components/schemas/osvReferenceType"},"url":{"description":"Required. The URL.","type":"string"}},"type":"object"},"osvReferenceType":{"default":"NONE","enum":["NONE","WEB","ADVISORY","REPORT","FIX","PACKAGE","ARTICLE"],"type":"string"},"osvSeverity":{"properties":{"score":{"description":"The quantitative score.","type":"string"},"type":{"$ref":"#/components/schemas/osvSeverityType"}},"type":"object"},"osvSeverityType":{"default":"UNSPECIFIED","description":"Type of the severity.","enum":["UNSPECIFIED","CVSS_V3"],"type":"string"},"osvVulnerability":{"description":"A vulnerability entry.\nThe protobuf representation is *NOT* stable and only used for implementing\nthe JSON based API.","properties":{"affected":{"description":"Required. Affected commit ranges and versions.","items":{"$ref":"#/components/schemas/osvAffected"},"type":"array"},"aliases":{"description":"Optional. IDs for the same vulnerability in other databases.","items":{"type":"string"},"type":"array"},"credits":{"description":"Optional. Credits for the vulnerability.","items":{"$ref":"#/components/schemas/osvCredit"},"type":"array"},"database_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the database for which the record applies.","type":"object"},"details":{"description":"Required. Any additional human readable details for the vulnerability.","type":"string"},"id":{"description":"The `id` field is a unique identifier for the vulnerability entry. It is a\nstring of the format `\u003cDB\u003e-\u003cENTRYID\u003e`, where `DB` names the database and\n`ENTRYID` is in the format used by the database. For example:\n“OSV-2020-111”, “CVE-2021-3114”, or “GHSA-vp9c-fpxx-744v”.","type":"string"},"modified":{"description":"The RFC3339 timestamp indicating when this entry was last modified.","format":"date-time","type":"string"},"package":{"$ref":"#/components/schemas/osvPackage"},"published":{"description":"The RFC3339 timestamp indicating when this entry was published.","format":"date-time","type":"string"},"references":{"description":"Optional. URLs to more information/advisories (including the\nscheme e.g \"https://\").","items":{"$ref":"#/components/schemas/osvReference"},"type":"array"},"related":{"description":"Optional. List of IDs of closely related vulnerabilities, such as the same\nproblem in alternate ecosystems.","items":{"type":"string"},"type":"array"},"schema_version":{"description":"The OSV schema version.","type":"string"},"severity":{"description":"Optional. Severity of the vulnerability.","items":{"$ref":"#/components/schemas/osvSeverity"},"type":"array"},"summary":{"description":"Required. One line human readable summary for the vulnerability. It is\nrecommended to keep this under 120 characters.","type":"string"},"withdrawn":{"description":"Optional. The RFC3339 timestamp indicating when this entry is considered to\nbe withdrawn.","format":"date-time","type":"string"}},"type":"object"},"prometheusclientMetric":{"properties":{"counter":{"$ref":"#/components/schemas/clientCounter"},"gauge":{"$ref":"#/components/schemas/clientGauge"},"histogram":{"$ref":"#/components/schemas/clientHistogram"},"label":{"items":{"$ref":"#/components/schemas/clientLabelPair"},"type":"array"},"summary":{"$ref":"#/components/schemas/clientSummary"},"timestamp_ms":{"format":"int64","type":"string"},"untyped":{"$ref":"#/components/schemas/clientUntyped"}},"type":"object"},"protobufNullValue":{"default":"NULL_VALUE","description":"`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.","enum":["NULL_VALUE"],"type":"string"},"v1ADOBoardsConfig":{"description":"ADOBoardsConfig configures Azure DevOps Boards as a notification action target.","properties":{"installation_uuid":{"description":"UUID of the installation that provides ADO credentials.","type":"string"},"projects":{"description":"Projects to create work items in. At least one project must be specified.","items":{"$ref":"#/components/schemas/ADOBoardsConfigProjectConfig"},"type":"array"},"user_config":{"$ref":"#/components/schemas/ADOBoardsConfigUserConfig"}},"required":["projects"],"type":"object"},"v1AICredentialClass":{"default":"AI_CREDENTIAL_CLASS_UNSPECIFIED","description":"AICredentialClass names the provider account an AI request billed against.\nIt supersedes the byok boolean, which cannot name a third kind of account\nand cannot say which of a tenant's keys served a request.\n\nThe value names carry a constraint. Lowercased and stripped of the\nAI_CREDENTIAL_CLASS_ prefix, each one must equal the credential-class label\nvalue the LLM metrics use, so a stored record and a metric series never\nname the same account differently. A rename breaks that pairing silently.\n\n - AI_CREDENTIAL_CLASS_UNSPECIFIED: No class was assigned, so the record predates credential classification.\n - AI_CREDENTIAL_CLASS_PLATFORM: Endor's own provider account served the request.\n - AI_CREDENTIAL_CLASS_BYOK: The tenant's own provider account served the request, reached through one\nof their AI provider keys.","enum":["AI_CREDENTIAL_CLASS_UNSPECIFIED","AI_CREDENTIAL_CLASS_PLATFORM","AI_CREDENTIAL_CLASS_BYOK"],"type":"string"},"v1AICreditMetric":{"description":"Implements metric to measure credits accrued for AI usage per root tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AICreditMetricSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AICreditMetricSpec":{"properties":{"accrued_date":{"description":"Indicates the date when cost was calculated/accrured.","format":"date-time","type":"string"},"ai_feature":{"$ref":"#/components/schemas/v1AIFeature"},"byok":{"description":"Deprecated: read credential_class instead. Still written, derived from\nit, so readers have one release to move. Indicates the credits were\naccrued through customer-provided (bring your own key) credentials.\nSuch records are kept for usage monitoring and are excluded from\nplatform credit-limit enforcement.","readOnly":true,"type":"boolean"},"credential_class":{"$ref":"#/components/schemas/v1AICredentialClass"},"credential_ref":{"description":"The uuid of the AI provider key the accrued usage billed against, empty\nunless the credential class is BYOK. It is stamped once, when the day's\nrecord is opened, and the record's identity does not include it, so\nusage that moves to another key of the same provider and model within\nthe same day keeps accruing under the key that opened the record.","readOnly":true,"type":"string"},"llm":{"$ref":"#/components/schemas/SpecAvailableLLM"},"llm_cost":{"description":"Indicates total cost accrued for using this specific AI model for the said AI feature on the accrued date.","format":"double","type":"number"},"total_credit_count":{"description":"Indicates total tokens/credits accrued for using this specific AI model for the said AI feature on the accrued date.","format":"double","type":"number"}},"required":["total_credit_count","accrued_date","llm"],"type":"object"},"v1AIEmbeddingsRequest":{"description":"AIEmbeddingsRequest represents an AI embedding request in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIEmbeddingsRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the embedding request.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AIEmbeddingsRequestSpec":{"properties":{"dimensions":{"description":"The dimensions of the embedding. Note that not all models allow this to\nbe set.","format":"int32","type":"integer"},"model":{"$ref":"#/components/schemas/v1EmbeddingModel"},"provider":{"$ref":"#/components/schemas/v1EmbeddingProvider"},"texts":{"description":"The texts to embed.","items":{"type":"string"},"type":"array"},"vectors":{"description":"The vectors of the embeddings in the same sequence as they were received.","items":{"$ref":"#/components/schemas/SpecVector"},"readOnly":true,"type":"array"}},"required":["model","provider"],"type":"object"},"v1AIFeature":{"default":"AI_FEATURE_UNSPECIFIED","description":"AIFeature identifies which AI feature is making the request.\nThis is used for metrics, billing, and feature tracking.\n\n - AI_FEATURE_AI_SAST_CONTEXT_SUMMARY: AI SAST per-project context summarization that grounds segment prompts.","enum":["AI_FEATURE_UNSPECIFIED","AI_FEATURE_SECURITY_REVIEW","AI_FEATURE_AI_SAST","AI_FEATURE_AIFP_EVALUATOR","AI_FEATURE_LICENSE_EXTRACTION","AI_FEATURE_MODEL_DISCOVERY","AI_FEATURE_MODEL_METADATA_EXTRACTION","AI_FEATURE_SKILL_SCORING","AI_FEATURE_MCP_RISK_EVALUATION","AI_FEATURE_AI_SAST_CONTEXT_SUMMARY"],"type":"string"},"v1AIMeta":{"description":"AI metadata for the finding.\nThis is only used for findings generated by AI.","properties":{"confidence_justification":{"description":"Confidence justification for the finding.","type":"string"},"confidence_level":{"$ref":"#/components/schemas/v1AIMetaConfidenceLevel"},"llm_context":{"$ref":"#/components/schemas/v1LLMContext"}},"type":"object"},"v1AIMetaConfidenceLevel":{"default":"CONFIDENCE_LEVEL_UNSPECIFIED","description":"Confidence level for the finding.\n\n - CONFIDENCE_LEVEL_CRITICAL: Critical finding.\n - CONFIDENCE_LEVEL_HIGH: Very important findings.\n - CONFIDENCE_LEVEL_MEDIUM: Important findings.\n - CONFIDENCE_LEVEL_LOW: Low priority finding.","enum":["CONFIDENCE_LEVEL_UNSPECIFIED","CONFIDENCE_LEVEL_CRITICAL","CONFIDENCE_LEVEL_HIGH","CONFIDENCE_LEVEL_MEDIUM","CONFIDENCE_LEVEL_LOW"],"type":"string"},"v1AIModelProvider":{"default":"AI_MODEL_PROVIDER_UNSPECIFIED","description":"Provider the model comes from.\n\n - AI_MODEL_PROVIDER_HUGGING_FACE: The model comes from Hugging Face.\n - AI_MODEL_PROVIDER_OPENAI: The model comes from OpenAI.\n - AI_MODEL_PROVIDER_ANTHROPIC: The model comes from Anthropic.\n - AI_MODEL_PROVIDER_GOOGLE: The model comes from Google.\n - AI_MODEL_PROVIDER_AWS: The model comes from AWS.\n - AI_MODEL_PROVIDER_PERPLEXITY: The model comes from Perplexity.\n - AI_MODEL_PROVIDER_DEEPSEEK: The model comes from DeepSeek.\n - AI_MODEL_PROVIDER_AZUREOPENAI: The model comes from Azure OpenAI.\n - AI_MODEL_PROVIDER_CUSTOM: The model comes from a custom AI provider defined by the user.","enum":["AI_MODEL_PROVIDER_UNSPECIFIED","AI_MODEL_PROVIDER_HUGGING_FACE","AI_MODEL_PROVIDER_OPENAI","AI_MODEL_PROVIDER_ANTHROPIC","AI_MODEL_PROVIDER_GOOGLE","AI_MODEL_PROVIDER_AWS","AI_MODEL_PROVIDER_PERPLEXITY","AI_MODEL_PROVIDER_DEEPSEEK","AI_MODEL_PROVIDER_AZUREOPENAI","AI_MODEL_PROVIDER_CUSTOM"],"type":"string"},"v1AIProviderKey":{"description":"AIProviderKey stores a customer-provided (bring-your-own-key) LLM\ncredential and entry point for a specific AI provider. When one is\nconfigured and enabled, the platform routes the tenant's AI requests\nthrough the customer's own provider account instead of Endor-managed\ncredentials.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIProviderKeySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the AI provider key.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AIProviderKeySpec":{"properties":{"api_key":{"description":"Credential used to call the provider: an API key for OpenAI-family and\nGemini providers, or an express-mode API key for Vertex AI. Stored in\nthe platform secret manager (secure annotation); read APIs return the\nredacted placeholder rather than the stored value.","type":"string"},"api_version":{"description":"Azure OpenAI api-version query parameter to use. Defaults to the\nplatform's version when unset; only meaningful for\nPROVIDER_AZURE_OPENAI.","type":"string"},"disabled":{"description":"Pauses routing through this credential without deleting it.","type":"boolean"},"embedding_model_aliases":{"description":"Embedding models the credential serves and the names the customer's\nprovider serves them under. Azure OpenAI takes the deployment name from\nthe request body's model field, so a customer whose deployment is not\nnamed after the model must list it here or the request reaches a path\nthat does not exist. Leave empty to make this key the provider's\nembedding catch-all, serving every embedding model under its own name;\nkeys listing a model explicitly take precedence over the catch-all.\nTwo enabled keys of one provider that both leave this empty are two\ncatch-alls, whatever their model_aliases. The write does not check for\nthis, but neither serves any embedding request, and a request no other\nkey serves fails, until one of them lists its embedding models here.","items":{"$ref":"#/components/schemas/SpecEmbeddingModelAlias"},"type":"array"},"endpoint":{"description":"Entry point requests are sent to. Required for PROVIDER_AZURE_OPENAI\n(the Azure resource endpoint, e.g. https://\u003cresource\u003e.openai.azure.com),\noptional for PROVIDER_OPENAI (defaults to the OpenAI platform; set it\nto target an OpenAI-compatible gateway), optional for\nPROVIDER_VERTEX_AI (defaults to the global endpoint; set a regional\nendpoint, e.g. https://us-central1-aiplatform.googleapis.com, to pin a\nregion) and unused for PROVIDER_GEMINI. Stored in the platform secret\nmanager and redacted in read APIs.","type":"string"},"model_aliases":{"description":"Models the credential can serve and the names the customer's provider\nserves them under. Each listed model may be served by only one of the\ntenant's keys for the provider, and together the provider's keys must\ncover the models the platform requires. Leave empty to make this key\nthe provider's single catch-all, serving every model under its own\nname; keys listing a model explicitly take precedence over the\ncatch-all. Scoping a key here does not scope its embeddings: it\nstill counts as the provider's embedding catch-all until\nembedding_model_aliases is set.","items":{"$ref":"#/components/schemas/SpecModelAlias"},"type":"array"},"provider":{"$ref":"#/components/schemas/SpecProvider"}},"required":["provider"],"type":"object"},"v1AIQuery":{"description":"Implements queries by interacting with the OpenAI API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AIQueryQueryType":{"default":"QUERY_TYPE_UNSPECIFIED","description":" - QUERY_TYPE_UNSPECIFIED: Unspecified query.\n - QUERY_TYPE_OSS_EXPLORER: Query from the OSS Explorer.\n - QUERY_TYPE_HOST_CHECK: Query from the endorctl host-check command.\n - QUERY_TYPE_DEPSCANNER: Query from the endorctl depedency scan.\n - QUERY_TYPE_OSS_LLM: Query from an OSS LLM.","enum":["QUERY_TYPE_UNSPECIFIED","QUERY_TYPE_OSS_EXPLORER","QUERY_TYPE_HOST_CHECK","QUERY_TYPE_DEPSCANNER","QUERY_TYPE_OSS_LLM"],"type":"string"},"v1AIQuerySpec":{"properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"input_prompt":{"description":"The actual query.","type":"string"},"output_text":{"readOnly":true,"type":"string"},"packages":{"description":"Aggregates the results of the query.","items":{"$ref":"#/components/schemas/AIQueryPackageData"},"readOnly":true,"type":"array"},"query_type":{"$ref":"#/components/schemas/v1AIQueryQueryType"}},"type":"object"},"v1AIRequest":{"description":"Implements qi request by interacting with the LLM API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AIRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AIRequestSpec":{"properties":{"ai_feature":{"$ref":"#/components/schemas/v1AIFeature"},"byok":{"description":"Deprecated: read credential_class instead. Still written, derived from\nit, so readers have one release to move. Indicates the request was\nserved through customer-provided (bring your own key) provider\ncredentials, which bill the customer's provider account and do not\nconsume platform credits.","readOnly":true,"type":"boolean"},"credential_class":{"$ref":"#/components/schemas/v1AICredentialClass"},"credential_ref":{"description":"The uuid of the AI provider key that served the request, empty unless\nthe credential class is BYOK. The key's endpoint is a secure field and\nstays redacted on every read, so this reference is the indirection to\nit: it identifies the customer account that billed the request without\nwidening what is queryable.","readOnly":true,"type":"string"},"input":{"$ref":"#/components/schemas/SpecInput"},"output":{"$ref":"#/components/schemas/SpecOutput"},"storage":{"$ref":"#/components/schemas/SpecStorage"}},"required":["input"],"type":"object"},"v1AIResult":{"description":"AI result.","properties":{"explanation":{"description":"Human-readable description of the result.","type":"string"},"level":{"$ref":"#/components/schemas/AIResultAILevel"},"sast":{"$ref":"#/components/schemas/AIResultSAST"},"title":{"description":"Human-readable title of the result.","type":"string"}},"required":["explanation","level","title"],"type":"object"},"v1AISASTContext":{"description":"The code context an AI SAST finding depends on, hashed at scan time, so a\nscheduled refresh can detect modified context by re-hashing these regions.","properties":{"callees":{"description":"Regions of functions the scanned segment calls.","items":{"$ref":"#/components/schemas/v1AISASTContextRegion"},"type":"array"},"callers":{"description":"Regions of functions that call into the scanned segment.","items":{"$ref":"#/components/schemas/v1AISASTContextRegion"},"type":"array"},"dataflow":{"description":"The finding's dataflow step regions, in order.","items":{"$ref":"#/components/schemas/v1AISASTContextRegion"},"type":"array"},"fp_summary_hash":{"description":"SHA-256 hex of the project's false-positive context summary at scan time.\nA change here can flip the agent's verdict, so it participates in\nrefresh change detection alongside the code regions.","type":"string"},"hash":{"description":"Denormalized SHA-256 hex rollup over all component hashes (segment,\ndataflow, callers, callees, fp_summary_hash). Stored so findings can be\ngrouped or queried by context fingerprint.","type":"string"},"segment":{"$ref":"#/components/schemas/v1AISASTContextRegion"}},"type":"object"},"v1AISASTContextRegion":{"description":"A source region whose content is hashed so a scheduled AI SAST refresh can\ndetect whether that region changed since the finding was last scanned.","properties":{"content_hash":{"description":"SHA-256 hex hash of the region's source at scan time.","type":"string"},"location":{"$ref":"#/components/schemas/v1SourceLocation"}},"type":"object"},"v1AISASTScanCache":{"description":"AISASTScanCache tracks scan outcomes at file-level granularity for AI SAST\nincremental scanning. Each document contains the segments for a single\nfile, enabling efficient bulk reads and writes against MongoDB. When the\noutcome changes (e.g. a previously failed file is retried successfully),\nthe existing cache entry is updated in place.\n\nThis is a cache: LinterResults remain the authoritative finding records.\nIf the cache is lost, the system falls back to a full scan.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISASTScanCacheSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the scan cache entry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AISASTScanCacheSpec":{"description":"Spec holds the file-level scan state and embedded segment entries.","properties":{"content_hash":{"description":"SHA-256 hex hash of the full file content. Uses the same hashing\napproach as repoindexer/indexer.go calculateHash.","type":"string"},"file_path":{"description":"Relative file path within the repository (e.g. \"src/api/handler.go\").","type":"string"},"language":{"$ref":"#/components/schemas/v1Language"},"outcome":{"$ref":"#/components/schemas/AISASTScanCacheScanOutcome"},"project_uuid":{"description":"The UUID of the project this scan cache entry belongs to.","type":"string"},"ref":{"description":"Git ref whose scan wrote this entry, as it appears on the scanned\nRepositoryVersion (e.g. \"main\", \"refs/heads/release/1.2\").\n\nAttribution only, never a key. Entries are keyed by content hash so that\nrefs sharing a file's content share its entry, which is what keeps the\ncost of scanning a second ref close to zero. A shared entry therefore\nnames whichever ref wrote it last: read this to understand where an entry\ncame from, and do not branch behavior on it.","type":"string"},"scanned_at":{"description":"Timestamp of the last scan attempt for this file.","format":"date-time","type":"string"},"scanned_at_sha":{"description":"The commit SHA at which these segments were last scanned.","type":"string"},"segments":{"description":"Embedded per-segment scan states.","items":{"$ref":"#/components/schemas/AISASTScanCacheSegmentEntry"},"type":"array"},"source_repository_version_uuid":{"description":"RepositoryVersion whose LinterResults hold the findings these segments\nproduced. Set to the scanned version, which is not necessarily the\nversion this entry is parented to.\n\nA cache hit means \"this content was already scanned\"; it does not mean the\nfindings are attached to the version being scanned now. This field names\nwhere they are, so a hit can be turned back into findings for another ref.\n\nLeft unset rather than empty when the scanning version is unknown, so the\npattern requires a real UUID whenever the field is present.","type":"string"}},"required":["project_uuid","file_path","content_hash","outcome","scanned_at_sha","scanned_at"],"type":"object"},"v1AISastAnalysisParameters":{"description":"Runtime parameters controlling behavior of ai sast analysis.","properties":{"fp_triage":{"description":"enable false positive triage of sast findings using AI.","type":"boolean"},"mode":{"$ref":"#/components/schemas/AISastAnalysisParametersAISastAnalysisMode"},"retriage":{"description":"enable retriage of sast findings using AI.","type":"boolean"}},"type":"object"},"v1AISastContextSummary":{"description":"Project- or path-scoped summary with three sections (project, finding, FP) and an inputs hash.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AISastContextSummarySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AISastContextSummarySpec":{"properties":{"component_hashes":{"$ref":"#/components/schemas/AISastContextSummaryComponentHashes"},"finding_summary":{"description":"True-positive finding-context section (~1000 tokens).","type":"string"},"fp_summary":{"description":"False-positive finding-context section (~1000 tokens).","type":"string"},"inputs_hash":{"description":"Denormalized rollup of component_hashes; SHA-256 hex over their canonical encoding.","type":"string"},"model_id":{"description":"Producing model identifier (e.g. \"claude-opus-4-7\").","type":"string"},"path_spec":{"$ref":"#/components/schemas/AISastContextSummaryPathSpec"},"project_spec":{"$ref":"#/components/schemas/AISastContextSummaryProjectSpec"},"project_summary":{"description":"Project-context section (~1000 tokens).","type":"string"},"project_uuid":{"description":"Owning project; required for both PROJECT and PATH scope.","type":"string"},"summarized_at":{"description":"When the LLM pipeline last (re)generated these sections; set by the\npipeline alongside the generated content so callers can detect drift.","format":"date-time","type":"string"}},"required":["project_uuid","inputs_hash","project_summary","finding_summary","fp_summary","component_hashes"],"type":"object"},"v1AISastCustomerContext":{"description":"Customer-provided context scoped to projects using policy-style selectors.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagates system-level context settings to child namespaces when enabled.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AISastCustomerContextSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AISastCustomerContextSpec":{"description":"Customer-provided context payload.","properties":{"context":{"description":"Human-authored guidance text consumed as-is by the summary pipeline.","type":"string"},"disable":{"description":"Disables this context without deleting the object.","type":"boolean"},"project_exceptions":{"description":"Project tag selectors or $uuid=\u003cproject_uuid\u003e selectors that exclude matching projects from this context.","items":{"type":"string"},"type":"array"},"project_selector":{"description":"Project tag selectors or $uuid=\u003cproject_uuid\u003e selectors that select where this context applies.\nEmpty applies to all projects in the namespace.","items":{"type":"string"},"type":"array"}},"required":["context"],"type":"object"},"v1AISastSummary":{"description":"AI SAST summary.","properties":{"call_stack":{"description":"The path (call stack) of the vulnerable code.","items":{"$ref":"#/components/schemas/v1LocationWithName"},"type":"array"},"cwe":{"description":"The CWE of the vulnerability.","type":"string"},"explanation":{"description":"Free-form explanation of the vulnerability.","type":"string"},"sanitizer_callsites":{"description":"This are the locations of the callsites that are used to mitigate the vulnerability.","items":{"$ref":"#/components/schemas/v1LocationWithName"},"type":"array"},"sanitizer_definitions":{"description":"The sanitizer definitions locations that are used to mitigate the vulnerability.","items":{"$ref":"#/components/schemas/v1LocationWithName"},"type":"array"},"semgrep_sink_trigger":{"$ref":"#/components/schemas/v1SemgrepTriggerPattern"},"semgrep_source_trigger":{"$ref":"#/components/schemas/v1SemgrepTriggerPattern"}},"required":["call_stack","cwe","explanation"],"type":"object"},"v1APIKey":{"description":"Manages the system API keys.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the API key can be used for the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1APIKeySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an API key resource.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1APIKeySpec":{"properties":{"expiration_time":{"description":"The expiration time of the API key.","format":"date-time","type":"string"},"issuing_user":{"$ref":"#/components/schemas/v1User"},"key":{"description":"The identifier of an API key.","readOnly":true,"type":"string"},"permissions":{"$ref":"#/components/schemas/v1Permissions"},"secret":{"description":"The secret for the specified API key.","readOnly":true,"type":"string"}},"required":["permissions","expiration_time"],"type":"object"},"v1ActionPolicies":{"properties":{"allowed_actions":{"type":"string"},"enabled_repositories":{"type":"string"}},"type":"object"},"v1Actions":{"description":"Metadata added by the admission or notification policy scanner.","properties":{"policy_uuids":{"description":"List of action policies triggered by this finding.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AdoBoardsProject":{"description":"AdoBoardsProject is a selectable ADO Boards project.","properties":{"id":{"description":"The provider-assigned project id.","type":"string"},"name":{"description":"The project display name.","type":"string"}},"type":"object"},"v1AdoBoardsProjectsQuery":{"description":"AdoBoardsProjectsQuery lists the ADO Boards projects visible to the credentials.","properties":{"continuation_token":{"description":"Opaque cursor from a prior response; unset for the first page.","type":"string"},"page_size":{"description":"Maximum projects to return per page; the broker maps this to the ADO $top\npage size and applies a default when unset.","format":"int32","type":"integer"}},"type":"object"},"v1AdoBoardsProjectsResult":{"description":"AdoBoardsProjectsResult is a single page of ADO Boards projects.","properties":{"continuation_token":{"description":"Opaque cursor for the next page; unset when the list is exhausted.","type":"string"},"projects":{"description":"The projects in this page.","items":{"$ref":"#/components/schemas/v1AdoBoardsProject"},"type":"array"}},"type":"object"},"v1AdoBoardsWorkItemTypesQuery":{"description":"AdoBoardsWorkItemTypesQuery lists the work item types available for one or\nmore projects.","properties":{"project_names":{"description":"The project names to scope work item types to; at least one is required.","items":{"type":"string"},"type":"array"}},"required":["project_names"],"type":"object"},"v1AdoBoardsWorkItemTypesResult":{"description":"AdoBoardsWorkItemTypesResult is the set of work item types per requested project.","properties":{"project_work_item_types":{"description":"The per-project work item types, one entry per requested project.","items":{"$ref":"#/components/schemas/AdoBoardsWorkItemTypesResultProjectWorkItemTypes"},"type":"array"}},"type":"object"},"v1AgentActivity":{"description":"AgentActivity is the per-agent usage summary for one agent. Keyed by\nagent_id, the join key to the agent catalog (EndorAgent.id).","properties":{"active":{"description":"True if the agent made at least one call in the window. Always true for an\nentry in this response, which lists only agents with in-window activity.","type":"boolean"},"agent_id":{"description":"The join key to the agent catalog (EndorAgent.id), recorded verbatim from\nthe token's agent_id claim. It is never derived by splitting agent_identity\n(id@version), so it stays stable against the catalog. An id with no catalog\nentry is still returned, not dropped.","type":"string"},"agent_identity":{"description":"The {name}@{version} identity from the agent's JWT (agent_identity claim).\nUnset for an unregistered agent, distinct from a recorded empty identity.","type":"string"},"allowed":{"description":"Calls the authorization + mutability gates allowed.","format":"int64","type":"string"},"calls":{"description":"Total captured backend calls in the window.","format":"int64","type":"string"},"denied":{"description":"Calls denied (e.g. a read-only agent attempting a mutation).","format":"int64","type":"string"},"last_seen":{"description":"When the agent was last seen making a call. Unset if it never has.","format":"date-time","type":"string"},"sessions":{"description":"Distinct agent-run sessions in the window, as an approximate upper bound:\nper-day distinct counts are summed, so a session spanning midnight counts in\neach day it touches. Reconciliation populates it; the incremental capture path\ndoes not. Unset whenever the summed count is zero — not yet reconciled or none\nrecorded — so a consumer renders it as absent rather than a definite 0.","format":"int64","type":"string"}},"type":"object"},"v1AgentAuditLog":{"description":"AgentAuditLog records a single agent-originated call into the Endor backend,\ncaptured at the gRPC edge for internal security-forensics and agentic-usage\nanalytics. The trail is append-only, so a row is written once and never\nupdated. Singular scalars are wrapper types so a consumer can tell an\nunrecorded field from a recorded zero value, a distinction that matters for\nforensic queries on the trust signals.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentAuditLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the agent audit log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AgentAuditLogOperation":{"default":"OPERATION_UNSPECIFIED","description":"Operation is the coarse verb the RPC performs, derived from the gRPC method\nname. LIST stays distinct from READ so collection scans can be told apart\nfrom point reads.\n\n - OPERATION_UNSPECIFIED: The method did not map to a known verb.\n - OPERATION_READ: Single-resource read (Get/Read/Query/Describe).\n - OPERATION_LIST: Collection query (List).\n - OPERATION_CREATE: Create a resource.\n - OPERATION_UPDATE: Mutate an existing resource (Update/Patch).\n - OPERATION_DELETE: Delete a resource.\n - OPERATION_UPSERT: Create-or-update in a single call.\n - OPERATION_EXECUTE: Action RPC with no CRUD shape, e.g. a scan or evaluation.","enum":["OPERATION_UNSPECIFIED","OPERATION_READ","OPERATION_LIST","OPERATION_CREATE","OPERATION_UPDATE","OPERATION_DELETE","OPERATION_UPSERT","OPERATION_EXECUTE"],"type":"string"},"v1AgentAuditLogSpec":{"description":"Object specific data for AgentAuditLog. The field numbers are the ones the\nedge publisher has always used, so a captured call keeps its wire encoding.\n\nActor: who made the call.","properties":{"agent_client_id":{"description":"Issuer-verified cryptographic client/publisher id. Trust and dashboards key\non this, not on agent_identity. Empty for non-OIDC ingress.","type":"string"},"agent_id":{"description":"Stable agent catalog id, recorded verbatim from the token. The join key to\nthe agent catalog and telemetry rollups. Never derive it by splitting\nagent_identity — ids like \"system:remediation-agent\" carry no @version.","type":"string"},"agent_identity":{"description":"Human-readable {name}@{sha} agent label. Self-asserted, so spoofable: never\nuse it as a trust signal, and never split it to derive agent_id. \"unknown\"\nwhen the caller is agentic but unattributed.","type":"string"},"ai_feature":{"description":"AI feature the call is attributable to, when known.","type":"string"},"authz_decision":{"description":"Authorization outcome: \"allowed\" | \"denied\".","type":"string"},"claims":{"description":"Raw identity claims carried on the token.","items":{"type":"string"},"type":"array"},"correlation_id":{"description":"Join key to the client-side hook/session stream, for later stitching of\nbackend access to on-device behavior.","type":"string"},"error":{"description":"Response error message, truncated; never carries payloads or secrets.","type":"string"},"ingress":{"description":"How the token was minted, e.g. \"oidc\", \"api_key\", \"endorctl_agent_session\".","type":"string"},"is_agent":{"description":"Set by the token issuer for any agent-minted token, not asserted by the\ncaller. The primary signal that a call originated from an agent. Unset means\norigination was never recorded, not that the caller is non-agentic.","type":"boolean"},"is_verified_publisher":{"description":"True only when agent_client_id is on the curated verified-publisher\nallowlist; false for self-attested API-key agents and unknown client ids.\nThe trust gate dashboards key on — co-display it with the spoofable\nagent_identity, never that label alone. Unset means publisher status was\nnever recorded, which a forensic query must not read as false.","type":"boolean"},"mcp_profile":{"description":"MCP tool profile in effect (e.g. \"developer\", \"appsec\"); empty when none.","type":"string"},"mutability":{"description":"Read or write capability the token was granted (agents are read-only today).\nRecords what the call actually ran with.","type":"string"},"namespace":{"description":"The namespace the call targeted, as the caller supplied it. Capture happens\nbefore authorization, so for a denied or rejected call this is the only\nrecord of what the agent tried to reach, and it may name a namespace that\ndoes not exist. For an allowed call it matches tenant_meta.","type":"string"},"on_behalf_of":{"description":"The human principal the agent acts for, set at token issuance when the agent\nproves human delegation. Empty when no live human is in the loop.","type":"string"},"operation":{"$ref":"#/components/schemas/v1AgentAuditLogOperation"},"remote_ip":{"description":"Caller's remote address.","type":"string"},"request_id":{"description":"Correlates the call with request logs.","type":"string"},"resource_kind":{"description":"Endor resource kind the RPC operates on, e.g. \"Finding\".","type":"string"},"resource_uuid":{"description":"Targeted object uuid when resolvable from the request; empty otherwise.","type":"string"},"rpc_method":{"description":"Full gRPC method, e.g. \"/internal.endor.ai.endor.v1.FindingService/ListFindings\".","type":"string"},"sample_weight":{"description":"Number of like events this row represents when per-method sampling is on.\nUnset means the row is fully captured; a consumer summing this field must\ntreat unset as 1 rather than 0, or fully-captured rows drop out of the total.","format":"int64","type":"integer"},"scopes":{"description":"Coarse permission grant: \"customer-full\" | \"oss-readonly\".","items":{"type":"string"},"type":"array"},"session":{"description":"Per-run agent-session id shared by every call in one agent run — the key that\ncorrelates what a single run did. Empty for non-agent traffic.","type":"string"},"status_code":{"description":"gRPC status code of the response; 0 is OK. Unset only when the call returned\nno status, which a consumer must not read as OK.","format":"int32","type":"integer"},"tenant_uuid":{"description":"Root tenant the call is scoped to; empty for oss-readonly or unbound calls.\nThe envelope records namespaces only, so this is the one in-row record of\nthe tenant id.","type":"string"},"timestamp":{"description":"When the edge observed the call.","format":"date-time","type":"string"},"tool_name":{"description":"Originating MCP/agent tool when attributable (e.g. \"scan\"); empty otherwise.","type":"string"},"trust_zone":{"description":"Trust zone \"Z1\"..\"Z4\", derived from ingress and claims.","type":"string"}},"type":"object"},"v1AgentCall":{"description":"AgentCall is one captured call in an agent's recent history — a tenant-safe\nprojection of AgentAuditLog.","properties":{"decision":{"description":"allowed | denied.","type":"string"},"on_behalf_of":{"description":"The human principal the agent acted on behalf of; unset when none.","type":"string"},"operation":{"description":"Coarse verb: READ | LIST | CREATE | UPDATE | DELETE | UPSERT | EXECUTE.\nUnset when the operation could not be derived, distinct from a recorded\nempty verb.","type":"string"},"resource_kind":{"description":"The Endor resource the call operated on (e.g. Project).","type":"string"},"rpc_method":{"description":"Full gRPC method, for engineers who want the exact RPC.","type":"string"},"scopes":{"description":"The scope the call ran under, e.g. customer-full; comma-joined when more than\none. Unset when none were recorded.","type":"string"},"session":{"description":"The agent-run session this call belongs to; unset for a call with no session.","type":"string"},"status_code":{"description":"gRPC status code name (e.g. OK, PermissionDenied).","type":"string"},"timestamp":{"description":"When the edge observed the call.","format":"date-time","type":"string"}},"type":"object"},"v1AgentConfig":{"description":"Represents the information captured from an AgentConfig of endorctl.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an AgentConfig.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentConfigLevel":{"description":"AgentConfigLevel captures the agent configuration at one scope level\n(repository, user, or enterprise).","properties":{"available_models":{"description":"AvailableModels restricts which model IDs are selectable.\nPopulated from Claude Code settings only.","items":{"type":"string"},"type":"array"},"default_model":{"description":"DefaultModel is the default model ID configured at this level.\nPopulated from Claude Code settings only.","type":"string"},"env":{"additionalProperties":{"type":"string"},"description":"Env holds environment variables configured at this level.","type":"object"},"environment_type":{"description":"EnvironmentType is the remote environment type (e.g. \"docker\").\nPopulated from Cursor environment.json only.","type":"string"},"hooks":{"description":"Hooks lists the hook event bindings configured at this level.","items":{"$ref":"#/components/schemas/v1AgentHookConfig"},"type":"array"},"instruction_files":{"description":"InstructionFiles lists rule/instruction files discovered at this level.\nCursor: .mdc files from rules/ directories. Claude Code: reserved for future use.","items":{"$ref":"#/components/schemas/v1AgentInstructionFile"},"type":"array"},"mcp_servers":{"description":"McpServers lists the MCP servers configured at this level.","items":{"$ref":"#/components/schemas/v1AgentMCPServer"},"type":"array"},"permissions":{"$ref":"#/components/schemas/v1AgentPermissionsConfig"},"sandbox":{"$ref":"#/components/schemas/v1AgentSandboxConfig"}},"type":"object"},"v1AgentConfigSnapshot":{"description":"AgentConfigSnapshot captures the three-level configuration hierarchy\n(repository, user, enterprise) at session start time.","properties":{"enterprise":{"$ref":"#/components/schemas/v1AgentConfigLevel"},"repository":{"$ref":"#/components/schemas/v1AgentConfigLevel"},"user":{"$ref":"#/components/schemas/v1AgentConfigLevel"}},"type":"object"},"v1AgentConfigSpec":{"properties":{"llm":{"$ref":"#/components/schemas/SpecAvailableLLM"},"local_execution_only":{"description":"LocalExecutionOnly is true if the agent can only be executed locally.","type":"boolean"},"mcp_servers":{"items":{"$ref":"#/components/schemas/SpecMCPServer"},"type":"array"},"options":{"$ref":"#/components/schemas/SpecOptions"},"system_prompt":{"description":"SystemPrompt is the system prompt that the agent will use.","type":"string"},"tool_names":{"description":"tool_names is the list of tool names that the agent will use.\nIt must be one of the supported tools. If the tool is not supported, the\nrequest will fail.","items":{"type":"string"},"type":"array"},"vector_store_uuid":{"description":"VectorStoreUUID is the vector store that the agent can use.","type":"string"}},"required":["system_prompt","llm"],"type":"object"},"v1AgentDirectoryEntry":{"description":"AgentDirectoryEntry is one org-directory record synced from the Anthropic\nCompliance API for a tenant. Keyed by corporate email (meta.name = email),\nwhich is the join key the client resolves against (the directory exposes no\nstable Claude-account UUID). Written only by the server-side directory sync\n(the compliancedirsyncer housekeeping job); read by the client at session\nstart to resolve its own identity.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentDirectoryEntrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an AgentDirectoryEntry.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentDirectoryEntrySpec":{"properties":{"identity":{"$ref":"#/components/schemas/v1AgentIdentity"},"organization_uuid":{"description":"The linked Compliance organization uuid this entry was synced from.","type":"string"}},"type":"object"},"v1AgentHookAction":{"description":"Action describes how to match the activity with the policy and what to do when it matches.","properties":{"alert":{"$ref":"#/components/schemas/v1AlertAction"},"ask":{"$ref":"#/components/schemas/v1AskAction"},"block":{"$ref":"#/components/schemas/v1BlockAction"},"feedback":{"$ref":"#/components/schemas/v1FeedbackAction"},"match_type":{"$ref":"#/components/schemas/AgentHookActionMatchType"}},"type":"object"},"v1AgentHookActivity":{"description":"Activity describes what kind of hook activity the policy applies to.","properties":{"cmd_line":{"$ref":"#/components/schemas/v1CmdLineActivity"},"file_access":{"$ref":"#/components/schemas/v1FileAccessActivity"},"malware_check":{"$ref":"#/components/schemas/v1MalwareCheckActivity"},"mcp_server":{"$ref":"#/components/schemas/v1McpServerActivity"},"mcp_tool_call":{"$ref":"#/components/schemas/v1McpToolCallActivity"},"secrets_check":{"$ref":"#/components/schemas/v1SecretsCheckActivity"},"session":{"$ref":"#/components/schemas/v1SessionActivity"},"skill":{"$ref":"#/components/schemas/v1SkillActivity"}},"type":"object"},"v1AgentHookConfig":{"description":"AgentHookConfig represents one hook event binding: the event that triggers\nit and the commands that run in response.","properties":{"commands":{"description":"Commands lists the shell commands registered for this event.","items":{"type":"string"},"type":"array"},"event_name":{"description":"EventName is the lifecycle hook event name (e.g. \"PostToolUse\").","type":"string"}},"type":"object"},"v1AgentHookEvent":{"description":"AgentHookEvent represents a single event emitted by the agent runtime.\nEach event has a type, context, and optional type-specific payload.","properties":{"consumers_failed":{"description":"Consumer keys that failed to process this event. Used for retry.","items":{"type":"string"},"readOnly":true,"type":"array"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_result":{"$ref":"#/components/schemas/v1ProcessingResult"},"spec":{"$ref":"#/components/schemas/v1AgentHookEventSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an AgentHookEvent.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentHookEventSpec":{"properties":{"agent":{"$ref":"#/components/schemas/SpecAgent"},"agent_version":{"description":"Agent version if available.","type":"string"},"cmd_line":{"$ref":"#/components/schemas/v1CmdHook"},"cwd":{"description":"Working directory when the event was captured.","type":"string"},"device_id":{"description":"Device ID if available.","type":"string"},"duration_msec":{"description":"Duration in milliseconds.","format":"float","type":"number"},"error_message":{"description":"Error message if the hook event failed.","type":"string"},"file":{"$ref":"#/components/schemas/v1FileHook"},"has_policy_violation":{"description":"Set to true when policy_matches is non-empty.","type":"boolean"},"hook_event_category":{"$ref":"#/components/schemas/SpecHookEventCategory"},"hook_event_name":{"$ref":"#/components/schemas/SpecHookEventName"},"identity":{"$ref":"#/components/schemas/v1AgentIdentity"},"internal_tool":{"$ref":"#/components/schemas/v1InternalToolHook"},"is_interrupted":{"description":"Whether the hook event was interrupted.","type":"boolean"},"mcp_tool":{"$ref":"#/components/schemas/v1McpToolHook"},"model":{"description":"Model involved.","type":"string"},"os_user":{"description":"Operating-system login of the account running the agent, carried\nalongside user rather than instead of it, and populated even when it\nrepeats user.\n\nThis is the key that links one person's agent accounts, because the same\ndeveloper is an email to one agent and a GitHub handle to another while\nstaying one OS login underneath. Pair it with device_id: on a shared\nmachine or a CI runner the login is a generic name such as \"runner\" or\n\"root\", and joining on it alone merges unrelated people.","type":"string"},"permission_mode":{"description":"Permission mode at capture time (e.g. \"default\", \"acceptEdits\").","type":"string"},"policy_matches":{"description":"List of policy matches (if any).","items":{"$ref":"#/components/schemas/v1AgentHookPolicyMatch"},"type":"array"},"raw_hook_event_name":{"description":"Raw hook event name from the agent.","type":"string"},"repository":{"description":"Repository where the action happened.","type":"string"},"session":{"$ref":"#/components/schemas/v1SessionHook"},"session_id":{"description":"Session identifier for the agent run.","type":"string"},"sub_session_id":{"description":"Sub-session identifier for the agent run.","type":"string"},"user":{"description":"User name if available.","type":"string"},"user_kind":{"$ref":"#/components/schemas/SpecUserKind"}},"type":"object"},"v1AgentHookPolicy":{"description":"AgentHookPolicy describes a policy to apply when agent hook events match a\ngiven activity. When the activity matches, the action (e.g. feedback, block,\nalert) is applied.","properties":{"action":{"$ref":"#/components/schemas/v1AgentHookAction"},"activity":{"$ref":"#/components/schemas/v1AgentHookActivity"},"enabled":{"description":"Whether this policy is active.","type":"boolean"},"inventory_classification":{"$ref":"#/components/schemas/v1InventoryClassification"},"name":{"description":"Name of the policy.","type":"string"},"scope":{"$ref":"#/components/schemas/v1AgentHookPolicyScope"},"system":{"description":"Whether this is a system-defined policy (vs user-defined).","type":"boolean"}},"type":"object"},"v1AgentHookPolicyDefinition":{"description":"AgentHookPolicyDefinition is a top-level CRUD object that stores a single\nAgentHookPolicy alongside standard metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinitionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an AgentHookPolicyDefinition.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentHookPolicyDefinitionSpec":{"properties":{"policy":{"$ref":"#/components/schemas/v1AgentHookPolicy"}},"type":"object"},"v1AgentHookPolicyMatch":{"description":"AgentHookPolicyMatch tracks a policy match.","properties":{"cmd_line":{"$ref":"#/components/schemas/v1CmdLineMatch"},"file_access":{"$ref":"#/components/schemas/v1FileAccessMatch"},"malware":{"$ref":"#/components/schemas/v1MalwareMatch"},"match_type":{"$ref":"#/components/schemas/AgentHookPolicyMatchAgentHookPolicyMatchType"},"mcp_server":{"$ref":"#/components/schemas/v1McpServerMatch"},"mcp_tool_call":{"$ref":"#/components/schemas/v1McpToolMatch"},"policy_matched":{"$ref":"#/components/schemas/v1AgentHookPolicy"},"secrets":{"$ref":"#/components/schemas/v1SecretsMatch"},"session":{"$ref":"#/components/schemas/v1SessionMatch"},"skill":{"$ref":"#/components/schemas/v1SkillMatch"}},"type":"object"},"v1AgentHookPolicyScope":{"description":"AgentHookPolicyScope restricts a policy to a subset of events by matching\nagainst per-event identity carried on AgentHookEvent.Spec (repository, user).\nScope is evaluated once, before activity-kind matching, so it applies\nuniformly to all activity kinds.\n\nMatch logic: an unset scope (or a scope with no matchers set) applies to\nevery event. When set, configured matcher branches are AND'd — every set\nbranch must produce a hit; within a branch the regexes are OR'd (any one\nmatching satisfies the branch); an empty branch is ignored. A scope miss\nmakes the policy a no-op for the event for both blocklist and allowlist\nmatch types (the policy simply does not apply).","properties":{"repository_matchers":{"description":"Regex matchers for the repository from AgentHookEvent.Spec.repository\n(e.g. \"github\\\\.com/acme/.*\", \".*-infra$\"). OR'd among themselves.","items":{"type":"string"},"type":"array"},"user_matchers":{"description":"Regex matchers for the user/account from AgentHookEvent.Spec.user\n(e.g. \"alice\", \"svc-.*\", \".*@example\\\\.com\"). \"Account\" in the ticket\nmaps to this per-session user identity; there is no separate account\nentity. OR'd among themselves.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AgentIdentity":{"description":"AgentIdentity is the org identity resolved for the account behind an event,\nsourced from the agent provider's org directory. Only the caller's own\nidentity is ever resolved on a client (self-scoped).","properties":{"display_name":{"description":"Display name of the resolved user.","type":"string"},"email":{"description":"Corporate email of the resolved user.","type":"string"},"groups":{"description":"Org groups / teams the user belongs to.","items":{"type":"string"},"type":"array"},"roles":{"description":"Org roles the user holds.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AgentInstructionFile":{"description":"AgentInstructionFile represents a rule or instruction file discovered during\nconfiguration scanning. Content is not stored; only paths and hashes are\ncaptured to detect changes without exposing potentially sensitive content.","properties":{"content_hash":{"description":"ContentHash is the SHA-256 hex digest of the file content.","type":"string"},"name":{"description":"Name is the base filename without extension (e.g. \"security\" from \"security.mdc\").","type":"string"},"path":{"description":"Path is the absolute filesystem path to the instruction file.","type":"string"}},"type":"object"},"v1AgentMCPServer":{"description":"AgentMCPServer represents a single named MCP server entry common to all agents.","properties":{"args":{"description":"Args are the command-line arguments passed to the server process.","items":{"type":"string"},"type":"array"},"command":{"description":"Command is the executable used for stdio-transport servers.","type":"string"},"config_server_name":{"description":"ConfigServerName is the user-authored mcp.json map key that named this\nserver entry in the agent's configuration (e.g. \"claude-endor-cli-tools\",\n\"postgres\"). It is the stable identifier per-tool hooks can use to look\nthe entry up in the cached SESSION_START snapshot — Claude's tool name\nshape \"mcp__\u003cserver\u003e__\u003ctool\u003e\" carries this value, while Name carries the\nruntime program identity. Wrapped to distinguish \"unset\" from \"\".","type":"string"},"env":{"additionalProperties":{"type":"string"},"description":"Env holds environment variables injected into the server process.","type":"object"},"from_plugin":{"description":"FromPlugin marks a server contributed by an enabled agent plugin's manifest\nrather than by an mcp_servers entry a user wrote. Only the collector that\nwalked the plugin registry can tell the two apart, and both inventory\nwriters need the answer to agree, so it is stated here rather than inferred\ndownstream from the \"\u003cplugin\u003e/\u003cserver\u003e\" shape of config_server_name — a\nuser-authored key may legitimately contain a slash (\"@vendor/server\").\nWrapped to distinguish \"unset\" (a collector predating this field) from\n\"false\".","type":"boolean"},"headers":{"additionalProperties":{"type":"string"},"description":"Headers are additional HTTP headers sent with requests.\nPopulated by collectors when available; Cursor's mcp.json has no headers\nfield so this is empty for Cursor.","type":"object"},"name":{"description":"Name is the canonical runtime identifier of the MCP server program — the\nvalue extracted from the command line (e.g. \"endorctl\" from\n\"npx -y endorctl ai-tools mcp-server\") or, for HTTP/SSE servers, the host\nslice of the URL. The backend uses this as the inventory document name\nso SESSION_START rows and per-tool rows (whose McpToolHook.server_name\nis derived the same way from the runtime URL/command) land on a single\ninventory document per logical server.","type":"string"},"transport":{"description":"Transport is the MCP transport type: \"stdio\", \"http\", or \"sse\".\nCollectors must populate this; an empty value means the collector could\nnot classify the server. Claude Code reads this from .mcp.json; Cursor\nderives it structurally from command/url since mcp.json has no transport\nfield.","type":"string"},"url":{"description":"URL is the endpoint for HTTP or SSE transport servers.","type":"string"}},"type":"object"},"v1AgentPermissionsConfig":{"description":"AgentPermissionsConfig normalizes permission rules across agents.","properties":{"additional_directories":{"description":"AdditionalDirectories lists extra working directories the agent may access.\nClaude Code: from permissions.additionalDirectories. Cursor: from CLI allowedPaths.","items":{"type":"string"},"type":"array"},"allowed_commands":{"description":"AllowedCommands lists shell command patterns that are auto-approved.\nFor Claude Code these are permission rule strings (e.g. \"Bash(git:*)\").","items":{"type":"string"},"type":"array"},"allowed_mcp_servers":{"description":"AllowedMcpServers lists MCP server names permitted by managed policy.\nPopulated from Claude Code managed settings; empty for Cursor.","items":{"type":"string"},"type":"array"},"allowed_tools":{"description":"AllowedTools lists MCP tool names that are auto-approved.\nPopulated primarily from Cursor configs; Claude Code uses rule strings instead.","items":{"type":"string"},"type":"array"},"bypass_disabled":{"description":"BypassDisabled indicates whether bypass-permissions mode is disabled.\nPopulated from Claude Code only.","type":"boolean"},"default_mode":{"description":"DefaultMode is the permission mode used when no explicit rule matches.\nPopulated from Claude Code only (e.g. \"default\", \"bypassPermissions\").","type":"string"},"denied_commands":{"description":"DeniedCommands lists shell command patterns that are blocked.","items":{"type":"string"},"type":"array"},"denied_mcp_servers":{"description":"DeniedMcpServers lists MCP server names blocked by managed policy.\nPopulated from Claude Code managed settings; empty for Cursor.","items":{"type":"string"},"type":"array"},"denied_tools":{"description":"DeniedTools lists MCP tool names that are blocked.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AgentSandboxConfig":{"description":"AgentSandboxConfig normalizes sandbox network and filesystem rules across agents.","properties":{"allowed_network_hosts":{"description":"AllowedNetworkHosts lists hostnames/domains the agent may reach.","items":{"type":"string"},"type":"array"},"blocked_network_hosts":{"description":"BlockedNetworkHosts lists hostnames/domains the agent may not reach.\nPopulated from Cursor configs only; Claude Code uses allowlist-only.","items":{"type":"string"},"type":"array"},"enabled":{"description":"Enabled indicates whether sandboxing is turned on.\nWrapped to distinguish \"unset\" from \"false\".","type":"boolean"},"fail_if_unavailable":{"description":"FailIfUnavailable causes the agent to exit when sandboxing is unavailable.\nWrapped to distinguish \"unset\" from \"false\".","type":"boolean"},"readable_paths":{"description":"ReadablePaths lists filesystem paths the agent may read from.","items":{"type":"string"},"type":"array"},"writable_paths":{"description":"WritablePaths lists filesystem paths the agent may write to.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AgentSession":{"description":"Implements an agent session by interacting with the implemented agents.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentSessionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource. This is also the session ID for a user\nthat wants to continue a conversation with the agent.\nIt will accumulate messages over the conversation.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AgentSessionCountQuery":{"description":"AgentSessionCountQuery is an internal API returning the total number of\nagent sessions in a namespace. Unlike ListAgentSessions, results are not\nrestricted to sessions owned by or shared with the caller: the response\ncarries only a count, so no session content can be exposed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentSessionCountQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentSessionCountQuerySpec":{"properties":{"request":{"$ref":"#/components/schemas/v1AgentSessionCountQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1AgentSessionCountQuerySpecResponse"}},"type":"object"},"v1AgentSessionCountQuerySpecRequest":{"properties":{"time_range":{"$ref":"#/components/schemas/SpecRequestTimeRange"},"traverse":{"description":"Whether to include child namespaces in the count.","type":"boolean"}},"type":"object"},"v1AgentSessionCountQuerySpecResponse":{"properties":{"count":{"description":"Total number of agent sessions matching the request.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"v1AgentSessionSpec":{"properties":{"agent_contexts":{"description":"agent_contexts can include multiple instances of AgentContext. The context\ncan only be provided at the beginning of a session and cannot be updated\nlater on.","items":{"$ref":"#/components/schemas/SpecAgentContext"},"type":"array"},"message_history":{"description":"The previous messages in the session.","items":{"$ref":"#/components/schemas/SpecMessage"},"readOnly":true,"type":"array"},"owner_claims":{"items":{"type":"string"},"title":"owner claims representing the owner of the session (ie user)","type":"array"},"request":{"description":"The current message request in the session.","type":"string"},"shared_session":{"description":"shared_session indicates if this session is shared with other users.\nIf true, the session will be visible to all users in the same namespace.","type":"boolean"},"text":{"readOnly":true,"type":"string"}},"required":["request"],"type":"object"},"v1AgentTool":{"description":"Lists the available Agent Tools that can be attached to agents.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgentToolSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1AgentToolSpec":{"properties":{"input_schema":{"type":"object"}},"type":"object"},"v1AgentWorkflow":{"description":"Represents an agent workflow that orchestrates multiple agents.\nWorkflows can be of different types, such as chain, planner, or swarm.\nThe initial implementation supports chain workflows where agents execute\nsequentially, passing outputs to the next agent in the chain.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AgentWorkflowSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an AgentWorkflow.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgentWorkflowSpec":{"properties":{"chain":{"$ref":"#/components/schemas/AgentWorkflowChainWorkflow"}},"type":"object"},"v1AgenticAggregate":{"description":"AgenticAggregate stores time-bucketed aggregated metrics from AgentHookEvents.\nOne document per (namespace, aggregate_bucket, bucket_granularity, dimension_key, dimension_value).","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgenticAggregateSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the aggregate record.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgenticAggregateSpec":{"properties":{"aggregate_bucket":{"description":"Time bucket (UTC, truncated to the granularity).","format":"date-time","type":"string"},"bucket_granularity":{"$ref":"#/components/schemas/v1BucketGranularity"},"delete_operations":{"description":"Number of delete operations (e.g. files, records).","format":"int64","type":"string"},"dimension_key":{"$ref":"#/components/schemas/v1DimensionKey"},"dimension_value":{"description":"Value within the dimension (e.g. agent name, model name, command binary).","type":"string"},"edit_operations":{"description":"Number of file or entity edit operations.","format":"int64","type":"string"},"errors":{"description":"Number of error events encountered in this bucket.","format":"int64","type":"string"},"executions":{"description":"Total number of command executions within this bucket.","format":"int64","type":"string"},"executions_success":{"description":"Total number of successful executions.","format":"int64","type":"string"},"file_access_events":{"description":"Number of events where files were accessed (read, write, edit, etc).","format":"int64","type":"string"},"interrupted":{"description":"Number of events where operations were interrupted or cancelled.","format":"int64","type":"string"},"read_operations":{"description":"Number of read-type operations (e.g. file reads, data retrieval).","format":"int64","type":"string"},"repositories":{"description":"Number of distinct repositories seen in events for this bucket.","format":"int64","type":"string"},"sessions":{"description":"Total number of session events within the aggregate bucket.","format":"int64","type":"string"},"tool_calls":{"description":"Number of tool invocations (e.g. agent tool calls).","format":"int64","type":"string"},"user_prompts":{"description":"Total number of user prompts or messages handled.","format":"int64","type":"string"},"users":{"description":"Number of distinct users who generated events in this bucket.","format":"int64","type":"string"},"write_operations":{"description":"Number of write-type operations (e.g. file writes, data modification).","format":"int64","type":"string"}},"required":["aggregate_bucket","dimension_key","dimension_value","bucket_granularity"],"type":"object"},"v1AgenticInventory":{"description":"AgenticInventory represents aggregated metrics for agents, models, MCP servers, skills, and AI tools.\nOne collection with type discriminator. Upserted on agent hook events.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AgenticInventorySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the inventory record.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1AgenticInventorySpec":{"properties":{"active_sessions":{"description":"Number of sessions currently in progress (incremented on SESSION_START,\ndecremented on SESSION_STOP).","format":"int64","type":"string"},"agent":{"$ref":"#/components/schemas/AgenticInventoryAgentMeta"},"ai_tool":{"$ref":"#/components/schemas/AgenticInventoryAiToolMeta"},"cmd_hook_events":{"description":"Number of command hook events.","format":"int64","type":"string"},"error_hook_events":{"description":"Number of hook events that had an error.","format":"int64","type":"string"},"file_hook_events":{"description":"Number of file hook events.","format":"int64","type":"string"},"interrupted_hook_events":{"description":"Number of events that were interrupted.","format":"int64","type":"string"},"last_seen":{"description":"Timestamp when this inventory was last seen (most recent activity).","format":"date-time","type":"string"},"mcp_server":{"$ref":"#/components/schemas/AgenticInventoryMcpMeta"},"model":{"$ref":"#/components/schemas/AgenticInventoryModelMeta"},"name":{"description":"Unique name within the type (e.g. server name for MCP, agent name, model name).","type":"string"},"repositories":{"description":"Number of distinct repositories associated with this inventory item.","format":"int64","type":"string"},"session_hook_events":{"description":"Number of session hook events.","format":"int64","type":"string"},"skill":{"$ref":"#/components/schemas/AgenticInventorySkillMeta"},"tool_hook_events":{"description":"Number of tool hook events.","format":"int64","type":"string"},"total_duration_msec":{"description":"Sum of all hook event durations in milliseconds.","format":"int64","type":"string"},"total_hook_events":{"description":"Total number of hook events.","format":"int64","type":"string"},"type":{"$ref":"#/components/schemas/v1InventoryType"},"user_prompt_hook_events":{"description":"Number of user prompts submitted.","format":"int64","type":"string"},"users":{"description":"Number of distinct users that triggered events for this inventory item.","format":"int64","type":"string"}},"required":["type","name"],"type":"object"},"v1AiToolCategory":{"default":"AI_TOOL_CATEGORY_UNSPECIFIED","description":"AiToolCategory classifies a detected AI development tool.","enum":["AI_TOOL_CATEGORY_UNSPECIFIED","AI_TOOL_CATEGORY_IDE","AI_TOOL_CATEGORY_CLI_TOOL","AI_TOOL_CATEGORY_AGENT","AI_TOOL_CATEGORY_FRAMEWORK","AI_TOOL_CATEGORY_MCP_CONFIG","AI_TOOL_CATEGORY_IDE_EXTENSION"],"type":"string"},"v1AiToolDetection":{"description":"AiToolDetection represents a single detected AI development tool.","properties":{"category":{"$ref":"#/components/schemas/v1AiToolCategory"},"evidence":{"description":"Evidence supporting the detection.","items":{"$ref":"#/components/schemas/v1AiToolEvidence"},"type":"array"},"tool":{"description":"Tool identifier (e.g. \"cursor\", \"claude-code\", \"ollama\").","type":"string"},"vendor":{"description":"Vendor name (e.g. \"Anthropic\", \"OpenSource\", \"Google\").","type":"string"}},"type":"object"},"v1AiToolEvidence":{"description":"AiToolEvidence is a single key-value signal supporting an AI tool detection.","properties":{"key":{"description":"Evidence key (e.g. \"install_path\", \"binary_path\", \"version\", \"config_path\").","type":"string"},"value":{"description":"Evidence value.","type":"string"}},"type":"object"},"v1AiToolInventory":{"description":"AiToolInventory contains all AI development tools detected on the host machine.","properties":{"detections":{"description":"Detected AI tools.","items":{"$ref":"#/components/schemas/v1AiToolDetection"},"type":"array"}},"type":"object"},"v1AlertAction":{"description":"AlertAction records an alert with a message (e.g. for audit).","properties":{"feedback_message":{"description":"Feedback message shown to the user when the alert is raised.","type":"string"},"message":{"type":"string"}},"type":"object"},"v1Allowlist":{"description":"Allows a rule to be ignored for specific regexes, paths, and/or commits.","properties":{"commits":{"description":"A slice of commit SHAs that are allowed to be ignored.","items":{"type":"string"},"type":"array"},"condition":{"description":"Match condition for this allowlist (\"OR\" or \"AND\"). Defaults to \"OR\".\nWhen \"AND\", all criteria must match for the allowlist to apply.","type":"string"},"description":{"description":"Short human readable description of the allowlist.","type":"string"},"paths":{"description":"A slice of path regular expressions that are allowed to be ignored.","items":{"type":"string"},"type":"array"},"regex_target":{"title":"RegexTarget","type":"string"},"regexes":{"description":"A slice of content regular expressions that are allowed to be ignored.","items":{"type":"string"},"type":"array"},"stop_words":{"description":"A slice of stop words that are allowed to be ignored.\nThis targets the _secret_, not the content of the regex match like the\nregexes slice.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AnalyticsExecutionRecord":{"description":"Captures the status, time and stats of an execution of the analytics.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecordSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a AnalyticsExecutionRecord resource.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1AnalyticsExecutionRecordSpec":{"properties":{"analytics_state":{"$ref":"#/components/schemas/AnalyticsExecutionRecordAnalysisState"},"analytics_time":{"description":"Represents the last time a repository was analysed.\n\nTimestamp is represented in the RFC 3339 format, for example, 2017-01-15T01:30:15.01Z.\n\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt","format":"date-time","type":"string"},"execution_stats":{"description":"The execution stats generated during the analysis.","type":"object"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"project_name":{"description":"The project name.","type":"string"},"project_uuid":{"description":"The UUID of the project to which the execution record belongs.","type":"string"},"version_name":{"description":"The version name.","type":"string"}},"required":["platform_source","project_uuid"],"type":"object"},"v1AndroidToolChain":{"properties":{"command_line_tools_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"packages":{"items":{"type":"string"},"type":"array"}},"required":["command_line_tools_version"],"type":"object"},"v1AppPasswordConfig":{"description":"AppPasswordConfig holds HTTP Basic Auth credentials for Bitbucket Cloud.\nIt supports both legacy App Passwords and its replacement, Atlassian\nScoped API Tokens (https://support.atlassian.com/bitbucket-cloud/docs/api-tokens/).\nBoth use the same HTTP Basic Auth mechanism (username:token).\nNOTE: Bitbucket App Passwords are deprecated and will be removed on June 9, 2026.\nNew integrations should use Scoped API Tokens.","properties":{"app_password":{"description":"The App Password or Atlassian Scoped API Token used for HTTP Basic Auth.\nBoth credential types are wire-compatible (username:token in Basic Auth header).","type":"string"},"username":{"description":"The username (or Atlassian account email for Scoped API Tokens) used for\nHTTP Basic Auth against Bitbucket Cloud.","type":"string"}},"required":["username","app_password"],"type":"object"},"v1AppendSchedulerResourceHistoryRunResponse":{"description":"Response for AppendSchedulerResourceHistoryRun.","type":"object"},"v1ApproveServiceRequest":{"description":"ApproveServiceRequest defines a message for approving or denying service requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ApproveServiceRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an approve service request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ApproveServiceRequestSpec":{"properties":{"comment":{"description":"The reasoning behind the decision by the approver.","type":"string"},"service_request_uuid":{"description":"The service request for which the approval request is associated.","type":"string"},"status":{"$ref":"#/components/schemas/v1RequestStatus"}},"required":["service_request_uuid","status"],"type":"object"},"v1Artifact":{"description":"Name and checksum value for an artifact.","properties":{"checksum":{"$ref":"#/components/schemas/v1Hash"},"name":{"description":"Full name of the artifact with extension type.","type":"string"}},"type":"object"},"v1ArtifactDownloadType":{"default":"ARTIFACT_DOWNLOAD_TYPE_UNSPECIFIED","description":"ArtifactDownloadType identifies the kind of artifact downloaded for malware detection.","enum":["ARTIFACT_DOWNLOAD_TYPE_UNSPECIFIED","ARTIFACT_DOWNLOAD_TYPE_PKG","ARTIFACT_DOWNLOAD_TYPE_PKG_META","ARTIFACT_DOWNLOAD_TYPE_GITHUB_API","ARTIFACT_DOWNLOAD_TYPE_GIT_TARBALL","ARTIFACT_DOWNLOAD_TYPE_PUBLISHER_ACCOUNT","ARTIFACT_DOWNLOAD_TYPE_DOWNLOAD_STATS"],"type":"string"},"v1ArtifactLog":{"description":"An artifact log contains details of the access of artifacts through https://factory.endorlabs.com.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ArtifactLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the artifact log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ArtifactLogSpec":{"properties":{"assured_package_version_name":{"description":"The name of the assured package versions.","type":"string"},"claims":{"description":"Claims in the context.\n\nFor example:\n\n  \"claims\": [\n    \"ID=19946263398469405566117368291178288812\",\n    \"email=scheduler\",\n    \"email=scheduler@endor.ai\",\n    \"user=scheduler@endor.ai@x509\",\n    \"user=scheduler@x509\",\n    \"x509\",\n    \"issuer=https://api.endorlabs.com/v1\"\n  ]","items":{"type":"string"},"type":"array"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"error":{"$ref":"#/components/schemas/googlerpcStatus"},"operation":{"$ref":"#/components/schemas/v1ArtifactLogSpecOperation"},"remote_address":{"type":"string"}},"required":["assured_package_version_name","operation"],"type":"object"},"v1ArtifactLogSpecOperation":{"default":"OPERATION_UNSPECIFIED","enum":["OPERATION_UNSPECIFIED","OPERATION_READ","OPERATION_UPDATE"],"type":"string"},"v1ArtifactOperation":{"description":"ArtifactOperation implements the artifacts operations on the server side.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ArtifactOperationResponse"},"spec":{"$ref":"#/components/schemas/v1ArtifactOperationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the artifact operation.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1ArtifactOperationCommand":{"default":"ARTIFACT_OPERATION_COMMAND_UNSPECIFIED","description":" - ARTIFACT_OPERATION_COMMAND_SIGN: ARTIFACT_OPERATION_COMMAND_SIGN is used to sign an artifact.\n - ARTIFACT_OPERATION_COMMAND_VERIFY: ARTIFACT_OPERATION_COMMAND_VERIFY is used to verify an artifact.\n - ARTIFACT_OPERATION_COMMAND_REVOKE_SIGNATURE: ARTIFACT_OPERATION_COMMAND_REVOKE_SIGNATURE is used to revoke an artifact signature.","enum":["ARTIFACT_OPERATION_COMMAND_UNSPECIFIED","ARTIFACT_OPERATION_COMMAND_SIGN","ARTIFACT_OPERATION_COMMAND_VERIFY","ARTIFACT_OPERATION_COMMAND_REVOKE_SIGNATURE"],"type":"string"},"v1ArtifactOperationResponse":{"properties":{"artifact_signature":{"$ref":"#/components/schemas/v1ArtifactSignature"},"result":{"$ref":"#/components/schemas/v1ArtifactOperationResult"}},"type":"object"},"v1ArtifactOperationResult":{"default":"ARTIFACT_OPERATION_RESULT_UNSPECIFIED","description":"The result of an artifact operation.\n\n - ARTIFACT_OPERATION_RESULT_UNSPECIFIED: No validator.\n - ARTIFACT_OPERATION_RESULT_SUCCESS: Success in the artifact operation.\n - ARTIFACT_OPERATION_RESULT_NO_ARTIFACT: Couldn't find any signatures for the given artifact name.\n - ARTIFACT_OPERATION_RESULT_NO_SIGNATURE: No signature found for the given digest of the artifact.\n - ARTIFACT_OPERATION_RESULT_TIME_MISMATCH: The timestamp associated with the signature is outside the\ntime window of the validity of the certificate.\n - ARTIFACT_OPERATION_RESULT_INVALID_SIGNATURE: The stored signature is invalid.\n - ARTIFACT_OPERATION_RESULT_UNKNOWN_CA: Unable to verify with a known CA.\n - ARTIFACT_OPERATION_RESULT_REVOKED_SIGNATURE: Signature has been revoked.\n - ARTIFACT_OPERATION_RESULT_CLAIMS_MISMATCH: Claims/attestations in the signature don't match input.\n - ARTIFACT_OPERATION_RESULT_BAD_CERTIFICATE: Empty or corrupted certificate.\n - ARTIFACT_OPERATION_RESULT_INVALID_KEY_TYPE: Could not find the right type of key in the certificate.\n - ARTIFACT_OPERATION_RESULT_CORRUPTED_SIGNATURE: Could not decode signature.\n - ARTIFACT_OPERATION_RESULT_KEY_GEN_FAILURE: Failed to generate private key.\n - ARTIFACT_OPERATION_RESULT_CSR_GEN_FAILURE: Failed to generate certificate request.\n - ARTIFACT_OPERATION_RESULT_SIGN_FAILURE: Failed to sign.\n - ARTIFACT_OPERATION_RESULT_INVALID_ARTIFACT_NAME: Invalid artifact name.","enum":["ARTIFACT_OPERATION_RESULT_UNSPECIFIED","ARTIFACT_OPERATION_RESULT_SUCCESS","ARTIFACT_OPERATION_RESULT_NO_ARTIFACT","ARTIFACT_OPERATION_RESULT_NO_SIGNATURE","ARTIFACT_OPERATION_RESULT_TIME_MISMATCH","ARTIFACT_OPERATION_RESULT_INVALID_SIGNATURE","ARTIFACT_OPERATION_RESULT_UNKNOWN_CA","ARTIFACT_OPERATION_RESULT_REVOKED_SIGNATURE","ARTIFACT_OPERATION_RESULT_CLAIMS_MISMATCH","ARTIFACT_OPERATION_RESULT_BAD_CERTIFICATE","ARTIFACT_OPERATION_RESULT_INVALID_KEY_TYPE","ARTIFACT_OPERATION_RESULT_CORRUPTED_SIGNATURE","ARTIFACT_OPERATION_RESULT_KEY_GEN_FAILURE","ARTIFACT_OPERATION_RESULT_CSR_GEN_FAILURE","ARTIFACT_OPERATION_RESULT_SIGN_FAILURE","ARTIFACT_OPERATION_RESULT_INVALID_ARTIFACT_NAME"],"type":"string"},"v1ArtifactOperationSpec":{"properties":{"artifact_name":{"description":"The name of the artifact being signed or verified.","type":"string"},"artifact_type":{"$ref":"#/components/schemas/v1ArtifactType"},"command":{"$ref":"#/components/schemas/v1ArtifactOperationCommand"},"digest":{"description":"Used only for the REVOKE command and is the source repository digest for the\nsignature to be revoked. The artifact name has to be provided as well.","type":"string"},"extensions":{"$ref":"#/components/schemas/v1CertificateExtensions"}},"required":["command","artifact_name","artifact_type"],"type":"object"},"v1ArtifactSignature":{"description":"Represents an artifact signature object.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ArtifactSignatureSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an artifact signature object.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"v1ArtifactSignatureSpec":{"properties":{"artifact_digest":{"title":"The artifact's digest","type":"string"},"artifact_name":{"description":"The artifact's name.","type":"string"},"artifact_type":{"$ref":"#/components/schemas/v1ArtifactType"},"certificate":{"description":"The certificate obtained for this sign operation.","type":"string"},"provenance":{"$ref":"#/components/schemas/v1CertificateExtensions"},"revoked":{"description":"Set to true if the signature gets revoked.","type":"boolean"},"signature":{"description":"The signature of the build artifact.","type":"string"},"simple_container_image":{"$ref":"#/components/schemas/v1SimpleContainerImage"},"source_repository_ref":{"description":"Source repository ref. This also exists in the certificate but it's also here\nto quickly look up entries that match.","type":"string"},"timestamp":{"description":"The timestamp of the signing event.","format":"date-time","type":"string"}},"required":["signature","artifact_type","artifact_digest","artifact_name"],"type":"object"},"v1ArtifactType":{"default":"ARTIFACT_TYPE_UNSPECIFIED","enum":["ARTIFACT_TYPE_UNSPECIFIED","ARTIFACT_TYPE_CONTAINER","ARTIFACT_TYPE_JAR","ARTIFACT_TYPE_WHEEL","ARTIFACT_TYPE_DLL","ARTIFACT_TYPE_ELF","ARTIFACT_TYPE_SBOM","ARTIFACT_TYPE_BLOB"],"type":"string"},"v1AskAction":{"description":"AskAction allows asking the user with a message.","properties":{"feedback_message":{"description":"Feedback message shown to the user when asking for confirmation.","type":"string"},"message":{"type":"string"}},"type":"object"},"v1AssuredPackageVersion":{"description":"AssuredPackageVersion is a  package version that have been built, tested, and patched by Endor Labs.\nIt includes details on how the version was built, tested, and patched, as well as information on the vulnerabilities that have been addressed through the patches.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1AssuredPackageVersionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the assured package version.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1AssuredPackageVersionSpec":{"properties":{"build_attestation":{"$ref":"#/components/schemas/SpecBuildAttestation"},"deploy_attestation":{"$ref":"#/components/schemas/SpecDeployAttestation"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"package_name":{"description":"The name of the package of this assured package version. It is\ncalculated automatically from the assured package version name.","type":"string"},"reproducible_build_source_code_upload_content":{"format":"byte","type":"string"},"reproducible_build_source_code_url":{"description":"The URL to download the source code\nto reproduce the build of the package version.\nThis is a signed URL valid only for four hours.","readOnly":true,"type":"string"},"security_attestation":{"$ref":"#/components/schemas/SpecSecurityAttestation"},"sha256":{"description":"SHA-256 of the assured package version.\nFor Java, this is the SHA of the jar file.","type":"string"},"test_attestation":{"$ref":"#/components/schemas/SpecTestAttestation"},"upgrade_summary":{"$ref":"#/components/schemas/SpecUpgradeSummary"},"version_type":{"$ref":"#/components/schemas/SpecVersionType"}},"required":["version_type"],"type":"object"},"v1AsyncJob":{"description":"AsyncJob is an asynchronous job — SBOM export or VEX export\ntypes today, with more types added as they ship.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AsyncJobSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID of the AsyncJob. Assigned by the server on Create; use it to\nfetch the job via GetAsyncJob.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AsyncJobSpec":{"description":"AsyncJob inputs and outputs.","properties":{"request":{"$ref":"#/components/schemas/v1AsyncJobSpecRequest"},"response":{"$ref":"#/components/schemas/v1AsyncJobSpecResponse"},"state":{"$ref":"#/components/schemas/SpecJobState"},"type":{"$ref":"#/components/schemas/v1AsyncJobType"}},"required":["type","request"],"type":"object"},"v1AsyncJobSpecRequest":{"description":"Wrapper holding the type-specific request arm.","properties":{"sbom":{"$ref":"#/components/schemas/v1SBOMExportJobRequest"},"vex":{"$ref":"#/components/schemas/v1VEXExportJobRequest"}},"type":"object"},"v1AsyncJobSpecResponse":{"description":"Wrapper holding the type-specific response arm and any error message.","properties":{"error_message":{"description":"Reason for failure. Populated when state = Job.Spec.JobState.JOB_STATE_FAILED.","readOnly":true,"type":"string"},"sbom":{"$ref":"#/components/schemas/v1SBOMExportJobResponse"},"vex":{"$ref":"#/components/schemas/v1VEXExportJobResponse"}},"type":"object"},"v1AsyncJobType":{"default":"TYPE_UNSPECIFIED","description":"The kind of async job being run.\n\n - TYPE_UNSPECIFIED: Unset.\n - TYPE_SBOM: Software Bill of Materials.\n - TYPE_VEX: Vulnerability Exploitability eXchange.","enum":["TYPE_UNSPECIFIED","TYPE_SBOM","TYPE_VEX"],"type":"string"},"v1AuditLog":{"description":"AuditLog represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AuditLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the audit log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AuditLogSpec":{"properties":{"claims":{"description":"Claims in the context.\n\nFor example:\n\n  \"claims\": [\n    \"ID=19946263398469405566117368291178288812\",\n    \"email=scheduler\",\n    \"email=scheduler@endor.ai\",\n    \"user=scheduler@endor.ai@x509\",\n    \"user=scheduler@x509\",\n    \"x509\",\n    \"issuer=https://api.endorlabs.com/v1\"\n  ]","items":{"type":"string"},"type":"array"},"error":{"$ref":"#/components/schemas/googlerpcStatus"},"message_kind":{"description":"The kind of the message.","type":"string"},"message_uuid":{"description":"Represents the UUID of the resource which is accessed.","type":"string"},"operation":{"$ref":"#/components/schemas/v1AuditLogSpecOperation"},"payload":{"$ref":"#/components/schemas/googleprotobufAny"},"remote_address":{"type":"string"}},"required":["operation"],"type":"object"},"v1AuditLogSpecOperation":{"default":"OPERATION_UNSPECIFIED","enum":["OPERATION_UNSPECIFIED","OPERATION_CREATE","OPERATION_UPDATE","OPERATION_DELETE","OPERATION_UPSERT"],"type":"string"},"v1AuthMethodAPICredentials":{"properties":{"key":{"description":"The identifier of an API key.","type":"string"},"secret":{"description":"The secret for the specified API key.","type":"string"}},"required":["key","secret"],"type":"object"},"v1AuthMethodAzure":{"properties":{"enable_managed_identity":{"description":"Auth using Azure managed identity for system.","type":"boolean"},"managed_identity_client_id":{"description":"The client ID of the Azure managed identity.","type":"string"}},"required":["managed_identity_client_id"],"type":"object"},"v1AuthMethodGCP":{"properties":{"service_account":{"description":"Auth using GCP service account.","type":"string"}},"required":["service_account"],"type":"object"},"v1AuthenticationLog":{"description":"Represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1AuthenticationLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the authentication log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1AuthenticationLogSpec":{"properties":{"authorized_tenants":{"description":"The tenants accessible by this user at the time of authentication.","items":{"type":"string"},"type":"array"},"claims":{"description":"Claims in the context.\n\nFor example:\n\n  \"claims\": [\n    \"ID=19946263398469405566117368291178288812\",\n    \"email=scheduler\",\n    \"email=scheduler@endor.ai\",\n    \"user=scheduler@endor.ai@x509\",\n    \"user=scheduler@x509\",\n    \"x509\",\n    \"issuer=https://api.endorlabs.com/v1\"\n  ]","items":{"type":"string"},"type":"array"},"error_message":{"description":"Error message details if the authentication fails.","type":"string"},"remote_address":{"description":"The remote IP address that was discovered.","type":"string"},"status":{"description":"The return code of the authentication.","format":"int32","type":"integer"},"success":{"description":"Success is set to true if the authentication is succesful.","type":"boolean"},"uri":{"description":"URI used for authentication event.","type":"string"}},"type":"object"},"v1AuthenticationResponse":{"description":"Response to the request includes a token and the token expiration time for an authenticated user.","properties":{"authentication_source":{"type":"string"},"expiration_time":{"format":"date-time","type":"string"},"token":{"type":"string"},"user":{"$ref":"#/components/schemas/v1User"}},"type":"object"},"v1Authorization":{"description":"Represents an authorization request in the system.","properties":{"claims":{"description":"Establishes the list of claims for attribute based access control.","items":{"type":"string"},"type":"array"},"meta":{"$ref":"#/components/schemas/v1Meta"},"permissions":{"$ref":"#/components/schemas/v1Permissions"},"target_namespace":{"description":"The target namespace of the request. If empty, the request is for a global object\nthat doesn't have a namespace.","type":"string"},"uuid":{"description":"The UUID of the authorization request.","readOnly":true,"type":"string"}},"required":["meta","claims"],"type":"object"},"v1AuthorizationPolicy":{"description":"Represents an authorization policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1AuthorizationPolicySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the AuthorizationPolicy resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1AuthorizationPolicySpec":{"properties":{"clause":{"description":"The list of claims that must match. This is essentially\nan AND operator. User claims must match all the\ncriteria in the clause for the policy to match.\n\nFor example, [\"group=X\", \"email=user@endor.ai\"] will match\nusers of group X with this email.\n\nClause strings must contain only allowed characters to prevent XSS attacks\nand ensure exact matching with incoming JWT claims. Allowed characters:\nletters, numbers, and the following: =@._-/: +()\u0026 (space, plus, parentheses, ampersand).","items":{"type":"string"},"type":"array"},"expiration_time":{"description":"Disables this policy after its expiration time.\nIf expiration time is not provided, the policy will never expire.","format":"date-time","type":"string"},"is_support_policy":{"description":"is_support_policy indicates that the policy is a support policy and\ncannot be altered without using the SupportAccess API.","readOnly":true,"type":"boolean"},"permissions":{"$ref":"#/components/schemas/v1Permissions"},"propagate":{"description":"Propagate indicates that the policy should include\nthe children of the target namespace as well as allowed targets.","type":"boolean"},"target_namespaces":{"description":"The target namespaces of the policy. The policy can\napply to one or more target namespaces. The targets\ncan only be the current namespace or its children.","items":{"type":"string"},"type":"array"}},"required":["clause","target_namespaces","propagate","permissions"],"type":"object"},"v1AutoDetectResult":{"description":"Message for an auto detect result.","properties":{"detected_tool_chain_versions":{"additionalProperties":{"$ref":"#/components/schemas/AutoDetectResultDetectedToolChainVersion"},"type":"object"},"detected_versions":{"additionalProperties":{"$ref":"#/components/schemas/AutoDetectResultDetectedToolChainVersionList"},"description":"Detected versions by lanaguage.","type":"object"},"error":{"description":"Auto detect error message.","type":"string"},"tool_chains":{"$ref":"#/components/schemas/v1ToolChains"}},"type":"object"},"v1AutomatedScanParameters":{"description":"AutomatedScanParameters represents the parameters that must be applied during\nautomated cloud scans to the projects associated with the corresponding\nprofile.","properties":{"additional_environment_variables":{"description":"additional_environment_variables sets extra environment variables for the\nscan, specific to languages or tools. By design only ENDOR_-prefixed\nvariables are honored; any entry without the ENDOR_ prefix is silently\ndropped, as are a few reserved ENDOR_ variables the scanner sets itself.","items":{"type":"string"},"type":"array"},"bazel_configuration":{"$ref":"#/components/schemas/AutomatedScanParametersBazelConfiguration"},"call_graph_languages":{"description":"call_graph_languages is the list of languages that should be used to\ncalculate call graphs. If empty, default values are used.","items":{"type":"string"},"type":"array"},"disable_code_snippet_storage":{"description":"disable_code_snippet_storage is a boolean value that indicates if the source code snippet\nrelated to a finding should be stored or displayed. Default will be off.","type":"boolean"},"disable_code_storage":{"description":"disable_code_storage is a boolean value that indicates if the source code related to a finding\nshould be stored or displayed. Default will be off.","type":"boolean"},"enable_ai_sast_scan":{"description":"enable_ai_sast_scan is a boolean value that indicates if AI SAST scan should be requested.","type":"boolean"},"enable_automated_pr_scans":{"description":"enable_automated_pr_scans for this repository will allow the github\napp to selectively scan PRs and merges for this repository.\nIf the project is not part of a github app, this setting will be ingored.","type":"boolean"},"enable_full_git_log_secret_scan":{"description":"enable_full_git_log_secret_scan for this repository.","type":"boolean"},"enable_pr_comments":{"description":"enable_pr_comments for this repository.","type":"boolean"},"enable_pr_incremental_scan":{"description":"enable_pr_incremental_scan is a boolean value that indicates if the PR incremental scan should be requested.","type":"boolean"},"enable_pr_security_review_scan":{"description":"enable_pr_security_review_scan is a boolean value that indicates if a Security Review scan should be requested.","type":"boolean"},"enable_remediation_action":{"description":"enable_remediation_action for this repository.","type":"boolean"},"enable_sast_scan":{"description":"enable_sast_scan for this repository.","type":"boolean"},"enable_secret_scan":{"description":"enable_secret_scan for this repository.","type":"boolean"},"excluded_paths":{"description":"excluded_paths is a list of paths that should be excluded from the scan.","items":{"type":"string"},"type":"array"},"full_pr_scan":{"description":"full_pr_scan indicates whether a full scan should be enabled during PRs.","type":"boolean"},"full_push_scan":{"description":"full_push_scan indicates whether a full scan should be enabled during\npushes.","type":"boolean"},"included_paths":{"description":"included_paths is a list of paths that should be included in the scan.","items":{"type":"string"},"type":"array"},"languages":{"description":"languages is a list of languages that should be scanned. If emtpy\ndefault values are used.","items":{"type":"string"},"type":"array"},"segment_match_languages":{"description":"segment_match_languages is the list of languages to enable segment-match based analysis for.\nClears the default languages if languages is not set explicitly.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AutomatedScanParametersConfig":{"description":"Message for automated scan parameter configuration.","properties":{"automated_scan_parameters_source":{"$ref":"#/components/schemas/v1AutomatedScanParametersSource"},"resolved_scan_environment_variables":{"description":"Resolved environment variables.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AutomatedScanParametersSource":{"default":"AUTOMATED_SCAN_PARAMETERS_SOURCE_UNSPECIFIED","description":"Automated scan parameter source types.","enum":["AUTOMATED_SCAN_PARAMETERS_SOURCE_UNSPECIFIED","AUTOMATED_SCAN_PARAMETERS_SOURCE_API","AUTOMATED_SCAN_PARAMETERS_SOURCE_FILE","AUTOMATED_SCAN_PARAMETERS_SOURCE_NAMESPACE_DEFAULT"],"type":"string"},"v1AzureConfig":{"properties":{"enable_full_scan":{"description":"enable_full_scan is a boolean value that indicates if the full scan should\nbe enabled for Azure DevOps PR scans.","type":"boolean"},"enable_pr_comments":{"description":"enable_pr_comments is a boolean value that indicates if automated PR\ncomments are enabled for Azure DevOps repositories.","type":"boolean"},"enable_pr_scans":{"description":"enable_pr_scans is a boolean value that indicates if automated PR scans\nare enabled for Azure DevOps repositories.","type":"boolean"},"host_url":{"description":"The URL of the project.","type":"string"},"personal_access_token":{"description":"PAT of the user doing integration to fetch resources using REST APIs.","type":"string"},"webhook_secret":{"description":"The shared password configured as the basic authentication credential for\nAzure DevOps Service Hook deliveries belonging to this installation.","type":"string"}},"required":["host_url"],"type":"object"},"v1AzureEvent":{"properties":{"event_type":{"$ref":"#/components/schemas/v1AzureEventEventType"}},"required":["event_type"],"type":"object"},"v1AzureEventEventType":{"default":"EVENT_TYPE_UNSPECIFIED","enum":["EVENT_TYPE_UNSPECIFIED","EVENT_TYPE_PULL_REQUEST"],"type":"string"},"v1AzurePayload":{"description":"AzurePayload carries SCM-specific webhook data for an Azure DevOps-originated\nscan. Mirrors GitHubPayload so downstream components (e.g., AI SAST baseline\nlookup) can recover the originating PR number on merge-to-main webhook events\nwhere pull_request_id is intentionally blank.","properties":{"pull_request_payload":{"description":"pull_request_payload contains the raw Azure DevOps pull request Service\nHook payload as JSON. The originating PR number lives at\n\"resource.pullRequestId\".","type":"object"}},"type":"object"},"v1BaseImageFindingRecord":{"description":"BaseImageFindingRecord is a compact projection of one changed finding in the\nbase-image update impact record lists (the per-bucket fixed/introduced lists\nand the records drill-down page). Feature-local by design: it is intentionally\nNOT the shared FindingSummaryInfo, so the version-upgrade surface that consumes\nthat message is left untouched.","properties":{"finding_categories":{"description":"Finding categories (e.g. FINDING_CATEGORY_VULNERABILITY).","items":{"$ref":"#/components/schemas/v1FindingCategory"},"readOnly":true,"type":"array"},"finding_tags":{"description":"Projected reachability of the finding's dependency in the app image.\nPopulated only when Response.reachability_available is true.","items":{"$ref":"#/components/schemas/v1FindingTags"},"readOnly":true,"type":"array"},"finding_uuids":{"description":"Every finding UUID that shares this record's diff key (fixed/introduced/\ncommon are keyed by finding identity plus version-stripped dependency\npackage, and more than one finding can share a key). `uuid` above is only\nthe deterministic representative chosen for display; a caller acting on\nthis record (e.g. suppressing it) must act on every UUID here, not just\nthe representative.","items":{"type":"string"},"readOnly":true,"type":"array"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"summary":{"description":"Human-readable finding text, copied from the finding's spec.summary\n(e.g. \"\u003cpkg\u003e has a \u003ctype\u003e vulnerability identified by \u003cid\u003e: \u003csummary\u003e. ...\").","readOnly":true,"type":"string"},"target_dependency_package":{"description":"Fully qualified dependency package in \"ecosystem://package@version\" form.\nPopulated from the finding's spec.target_dependency_package_name when set,\notherwise from dependency_package_version_metadata.meta.name. Never the\nbare target_dependency_name.","readOnly":true,"type":"string"},"uuid":{"description":"The finding UUID.","readOnly":true,"type":"string"},"vulnerability_id":{"description":"Preferred single vulnerability identifier for VULNERABILITY findings: the\nCVE ID when the advisory has one, otherwise the primary advisory ID (e.g. a\nGHSA). Empty for non-vulnerability findings. For the complete set of IDs use\nvulnerability_ids.","readOnly":true,"type":"string"},"vulnerability_ids":{"description":"All identifiers for the advisory behind a VULNERABILITY finding: the primary\nadvisory ID (vulnerability.meta.name) first, followed by every alias\n(vulnerability.spec.aliases, e.g. CVE / GHSA cross-references), de-duplicated\nand order-preserving. Empty for non-vulnerability findings.","items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object"},"v1BatchDependencyMetadata":{"description":"Request to create multiple DependencyMetadata objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchDependencyMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"v1BatchDependencyMetadataSpec":{"description":"BatchDependencyMetadata specific data.","properties":{"data":{"description":"List of dependency metadata objects.","items":{"$ref":"#/components/schemas/v1DependencyMetadata"},"type":"array"}},"type":"object"},"v1BatchFileSegments":{"description":"Request used to create or delete multiple file segment objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchFileSegmentsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"v1BatchFileSegmentsSpec":{"description":"BatchFileSegments specific data.","properties":{"data":{"description":"List of file segment objects.","items":{"$ref":"#/components/schemas/v1FileSegments"},"type":"array"}},"type":"object"},"v1BatchNotification":{"description":"Request to create multiple Notification objects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchNotificationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"v1BatchNotificationSpec":{"description":"BatchNotification specific data.","properties":{"finding_uuids":{"description":"List of finding UUIDs to create notifications.","items":{"type":"string"},"type":"array"},"notification_target_uuid":{"description":"Notification target UUID.","type":"string"},"notifications":{"description":"List of notification objects.","items":{"$ref":"#/components/schemas/v1Notification"},"type":"array"}},"type":"object"},"v1BatchPackageLicenseQuery":{"description":"BatchPackageLicenseQuery groups multiple PackageLicenseQuery requests into a single call.\nThe server evaluates each item and populates its output fields (licenses, copyrights,\nnotices, applied_overrides) before returning the object.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1BatchPackageLicenseQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"type":"object"},"v1BatchPackageLicenseQuerySpec":{"properties":{"queries":{"description":"Package license queries to evaluate. Each item requires spec.package_version_uuid;\nthe server populates spec.licenses, spec.copyrights, spec.notices, and\nspec.applied_overrides on each returned item.","items":{"$ref":"#/components/schemas/v1PackageLicenseQuery"},"type":"array"}},"type":"object"},"v1BazelMetadata":{"description":"BazelMetadata contains the Bazel metadata.","properties":{"build_path":{"description":"The build path.","type":"string"}},"type":"object"},"v1BitBucketCloudAuthConfig":{"description":"Configuration for Bitbucket Cloud authentication.","properties":{"access_token":{"title":"The access token associated with the Bitbucket Cloud account.\nhttps://support.atlassian.com/bitbucket-cloud/docs/access-tokens","type":"string"},"app_password_config":{"$ref":"#/components/schemas/v1AppPasswordConfig"}},"required":["access_token"],"type":"object"},"v1BitBucketConfig":{"properties":{"cloud":{"$ref":"#/components/schemas/v1BitBucketCloudAuthConfig"},"data_center":{"$ref":"#/components/schemas/v1BitBucketDataCenterAuthConfig"},"enable_full_scan":{"description":"enable_full_scan is a boolean value that indicates if the full scan should\nbe enabled.","type":"boolean"},"enable_pr_comments":{"description":"enable_pr_comments is a boolean value that indicates if the automated PR\ncomments should be enabled.","type":"boolean"},"enable_pr_scans":{"description":"enable_pr_scans is a boolean value that indicates if the automated PR scans\nare enabled.","type":"boolean"},"host_url":{"description":"The URL of the workspace (only for cloud) or project.","type":"string"},"webhook_secret":{"description":"The webhook secret configured in Bitbucket for validating incoming webhook\nevents.","type":"string"}},"required":["host_url"],"type":"object"},"v1BitBucketDataCenterAuthConfig":{"description":"Configuration for Bitbucket Datacenter authentication.","properties":{"http_access_token":{"description":"The HTTP Access Token used for Bitbucket Datacenter authentication.","type":"string"}},"required":["http_access_token"],"type":"object"},"v1BitbucketEvent":{"properties":{"event_type":{"$ref":"#/components/schemas/v1BitbucketEventEventType"}},"required":["event_type"],"type":"object"},"v1BitbucketEventEventType":{"default":"EVENT_TYPE_UNSPECIFIED","enum":["EVENT_TYPE_UNSPECIFIED","EVENT_TYPE_PULL_REQUEST"],"type":"string"},"v1BitbucketPayload":{"description":"BitbucketPayload carries SCM-specific webhook data for a Bitbucket-originated\nscan (Bitbucket Cloud or Bitbucket Data Center). Mirrors GitHubPayload so\ndownstream components (e.g., AI SAST baseline lookup) can recover the\noriginating PR number on merge-to-main webhook events where pull_request_id\nis intentionally blank.","properties":{"pull_request_payload":{"description":"pull_request_payload contains the raw Bitbucket pull request webhook\npayload as JSON. The originating PR number lives at \"pullrequest.id\"\n(Bitbucket Cloud) or \"pullRequest.id\" (Bitbucket Data Center).","type":"object"}},"type":"object"},"v1BlockAction":{"description":"BlockAction blocks the activity and shows a message.","properties":{"feedback_message":{"description":"Feedback message shown to the user when the action is blocked.","type":"string"},"message":{"type":"string"}},"type":"object"},"v1BlockReason":{"default":"BLOCK_REASON_UNSPECIFIED","description":"BlockReason represents the reason why a package was blocked.\nDeprecated: use PackageFirewallLog.Reason instead.","enum":["BLOCK_REASON_UNSPECIFIED","BLOCK_REASON_MALWARE_DETECTED","BLOCK_REASON_MIN_AGE_NOT_MET"],"type":"string"},"v1Bom":{"properties":{"dependencies":{"description":"Different package managers use different dependency graph serialization\nstrategies. Include the serialized list here to avoid re-implementing\nthis within endoctl.","items":{"$ref":"#/components/schemas/BomDependency"},"type":"array"},"dependency_files":{"description":"The list of the dependency files used to create the BOM.\nThis field is optional and is only set when the source code of the\npackage versions is known. It will contain the list of relative path of\nfiles used to compute the BOM. For instance for Golang, it will contain\nthe go.mod and go.sum.","items":{"$ref":"#/components/schemas/BomDependencyFile"},"type":"array"},"dependency_graph":{"additionalProperties":{"items":{"type":"object"},"type":"array"},"title":"A dependency graph is a K/V pair of package names.\nThe format of the key must be:\n- mvn://MVN_CENTRAL/foo:bar@2.1\n- mvn://CLIENT_REPO/foo:bar@2.1-SNAPSHOT\n- go://github.com/myorg/myrepo/mypkg@sha","type":"object"},"resolution_timestamp":{"format":"date-time","type":"string"}},"required":["resolution_timestamp"],"type":"object"},"v1BranchAccess":{"description":"BranchAccess contains normalized branch protection settings.","properties":{"allow_create":{"description":"Anyone with write access to the repository can create a new branch.","type":"boolean"},"allow_delete":{"description":"Anyone with write access to the repository can delete a branch.","type":"boolean"},"allow_force_push":{"description":"Anyone with write access to the repository can force push to a branch.","type":"boolean"},"allow_fork_sync":{"description":"Users can pull changes from upstream when the branch is locked.","type":"boolean"},"allow_review_bypass":{"description":"Specific users, teams, or apps can bypass pull request requirements.","type":"boolean"},"allow_self_approval":{"description":"Users can approve their own pull requests.","type":"boolean"},"dismiss_stale_approvals":{"description":"Approving reviews are automatically dismissed when someone pushes a new commit.","type":"boolean"},"enforce_admins":{"description":"All configured restrictions are also enforced for administrators.","type":"boolean"},"is_locked":{"description":"Branch is set to read-only.","type":"boolean"},"linear_history":{"description":"Linear commit Git history is enforced, which prevents anyone from pushing merge commits to a branch.","type":"boolean"},"num_approvals_required":{"description":"A minimum number of approvals is required to merge a pull request.","format":"int32","type":"integer"},"require_code_owner_approval":{"description":"Pull request merges are blocked until code owners have reviewed.","type":"boolean"},"require_comment_resolution":{"description":"All pull request comments must be resolved before it can be merged.","type":"boolean"},"require_signatures":{"description":"All commits must be signed.","type":"boolean"},"require_status_checks":{"description":"All status checks must pass before merging.","type":"boolean"},"require_update":{"description":"Branch must be up to date before merging.","type":"boolean"},"restrict_dismiss":{"description":"Specific users, teams, and apps can dismiss pull request reviews.","type":"boolean"},"restrict_push":{"description":"Specific users, teams, and apps can push code.","type":"boolean"}},"type":"object"},"v1BranchProtection":{"description":"The list of branch protection rules for protected branches.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"}},"required":["ingested_object"],"type":"object"},"v1BreakdownDimension":{"default":"BREAKDOWN_DIMENSION_UNSPECIFIED","description":"BreakdownDimension represents the dimension by which contributor usage can be broken down.\n\n - BREAKDOWN_DIMENSION_PROJECT: Breakdown by project.\n - BREAKDOWN_DIMENSION_USER_TYPE: Breakdown by user type (eg by bot vs human).\n - BREAKDOWN_DIMENSION_REF_TYPE: Breakdown by ref type (eg default branch vs non-default branch).\n - BREAKDOWN_DIMENSION_EMAIL_DOMAIN: Breakdown by email domain.\n - BREAKDOWN_DIMENSION_EMAIL_VERIFICATION: Breakdown by contributor email verification status (e.g. verified vs unverified).","enum":["BREAKDOWN_DIMENSION_UNSPECIFIED","BREAKDOWN_DIMENSION_PROJECT","BREAKDOWN_DIMENSION_USER_TYPE","BREAKDOWN_DIMENSION_REF_TYPE","BREAKDOWN_DIMENSION_EMAIL_DOMAIN","BREAKDOWN_DIMENSION_EMAIL_VERIFICATION"],"type":"string"},"v1BreakdownEntry":{"description":"BreakdownEntry represents a single breakdown dimension for contributor history.","properties":{"dimension":{"$ref":"#/components/schemas/v1BreakdownDimension"},"dimension_count":{"description":"The number of active contributors at this breakdown dimension.","format":"uint64","type":"string"},"dimension_key":{"description":"The key of the breakdown dimension (e.g. project UUID).","type":"string"},"emails":{"description":"The emails of the contributors at this breakdown dimension.","items":{"$ref":"#/components/schemas/v1ContributorEmail"},"type":"array"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional metadata for the breakdown entry.\nKeys must match pattern: ^[-A-Za-z0-9_.]*$ and be max 64 characters.\nValues must be max 16384 bytes.","type":"object"}},"required":["dimension","dimension_key","dimension_count"],"type":"object"},"v1BucketGranularity":{"default":"BUCKET_GRANULARITY_UNSPECIFIED","description":"BucketGranularity identifies the time granularity of an aggregate bucket.\n\n - BUCKET_GRANULARITY_DAILY: Bucket spans a full UTC calendar day (truncated to 00:00:00Z).","enum":["BUCKET_GRANULARITY_UNSPECIFIED","BUCKET_GRANULARITY_HOURLY","BUCKET_GRANULARITY_DAILY"],"type":"string"},"v1CIRun":{"description":"Represents the information captured from a CI run of endorctl.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CIRunSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a CI run.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1CIRunSpec":{"properties":{"baseline":{"description":"Baseline repository version for this CI run.","type":"string"},"end_time":{"description":"End time is the time a CI run ended.","format":"date-time","type":"string"},"run_tags":{"description":"The tags associated with this CI run.","items":{"type":"string"},"type":"array"},"run_uuid":{"description":"The UUID of the run.","type":"string"},"start_time":{"description":"Start time is the time a CI run started.","format":"date-time","type":"string"}},"type":"object"},"v1CallGraphAnalysisType":{"default":"CALL_GRAPH_ANALYSIS_TYPE_UNSPECIFIED","description":"Call graph analysis type for findings.\n\n - CALL_GRAPH_ANALYSIS_TYPE_UNSPECIFIED: Unspecified call graph analysis type.\n - CALL_GRAPH_ANALYSIS_TYPE_FULL: Full call graph analysis was performed.\n - CALL_GRAPH_ANALYSIS_TYPE_PRECOMPUTED: Precomputed call graph analysis was used.","enum":["CALL_GRAPH_ANALYSIS_TYPE_UNSPECIFIED","CALL_GRAPH_ANALYSIS_TYPE_FULL","CALL_GRAPH_ANALYSIS_TYPE_PRECOMPUTED"],"type":"string"},"v1CallGraphData":{"description":"CallGraphData represents a call graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"An internal value that identifies the callgraph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL of the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID for a call graph resource.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Callgraph proto bytes are encoded in zstd bytes.\nThe caller is responsible to compress/uncompress the bytes.","format":"byte","type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"v1CargoSpec":{"description":"CargoSpec represents a configuration for Cargo.","properties":{"priority":{"description":"The priority of Cargo.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"token":{"description":"A token that must be provided by the repository owner.","type":"string"},"url":{"description":"The url of the crates registry that Cargo must use.","type":"string"}},"required":["priority"],"type":"object"},"v1CategoryScore":{"description":"The score for one score category. The is the overall score\nfor a specific category. It is computed from the score factors that\nhave been created for the category. There is going to be only a single\ninstance of this information for the repo per score category.\n\nExample:\n\nCategory: SCORE_CATEGORY_BEST_PRACTICES\n\nScore: 5\n\nDescription: This score provides an overview of how this repo does when considering security best practices.\n\nThe value is a number in the range 1 to 10, with 10 being the best.","properties":{"category":{"$ref":"#/components/schemas/v1ScoreCategory"},"centered_score":{"description":"Centered score for the category. This score is\nnormalized to be centered on 5 and is a float, so it has a higher resolution.","format":"float","type":"number"},"description":{"description":"Text description of the category.","type":"string"},"raw_score":{"description":"Raw score for the category. This is the score by\nadding up the score factors, not centered around 5.","format":"float","type":"number"},"score":{"description":"The score for this score.","format":"int32","type":"integer"}},"type":"object"},"v1CertificateExtensions":{"description":"CertificateExtensions contains the certificate extensions retrieved from an identity token.","properties":{"build_config_digest":{"description":"Immutable reference to the specific version of the top-level/initiating build instructions (workflow SHA).","type":"string"},"build_config_name":{"description":"Name of the top-level/initiating build instructions (workflow).","type":"string"},"certificate_identity":{"description":"Immutable reference to the specific identity expected in a valid certificate. Valid values include email address, DNS names, IP addresses, and URIs.","type":"string"},"certificate_oidc_issuer":{"description":"Immutable reference to the specific OIDC issuer expected in a valid certificate. For example, https://token.actions.githubusercontent.com or https://oauth2.sigstore.dev/auth.","type":"string"},"runner_environment":{"description":"Specifies whether the build took place in platform-hosted cloud infrastructure or customer/self-hosted infrastructure.","type":"string"},"source_repository":{"description":"Source repository on which the build was based.","type":"string"},"source_repository_digest":{"description":"Immutable reference to a specific version of the source code on which the build was based.","type":"string"},"source_repository_owner":{"description":"Source repository owner of the source repository on which the build was based.","type":"string"},"source_repository_ref":{"description":"Source Repository Ref on which the build run was based.","type":"string"}},"type":"object"},"v1CertificateRequest":{"description":"CertificateRequest represents a certificate signing request.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CertificateRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a certificate request.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"v1CertificateRequestSpec":{"properties":{"certificate":{"readOnly":true,"type":"string"},"certificate_request":{"type":"string"},"extensions":{"$ref":"#/components/schemas/v1CertificateExtensions"},"type":{"$ref":"#/components/schemas/SpecRequestType"}},"required":["certificate_request"],"type":"object"},"v1ChangeType":{"default":"CHANGE_TYPE_UNSPECIFIED","description":"Protobuf definition for ChangeType.","enum":["CHANGE_TYPE_UNSPECIFIED","CHANGE_TYPE_ADDED","CHANGE_TYPE_REMOVED","CHANGE_TYPE_CHANGED","CHANGE_TYPE_RENAMED"],"type":"string"},"v1Checksum":{"description":"The details of checksum including the algorithm used to prepare the checksum.","properties":{"algorithm":{"$ref":"#/components/schemas/ChecksumHashAlgorithm"},"value":{"description":"A string representation (base64 encoded) of the SHA/MD5 checksum of the package.","type":"string"}},"required":["value","algorithm"],"type":"object"},"v1CiCdTool":{"description":"Represents a CI/CD tool.","properties":{"categories":{"description":"List of control function categories (based on static name to category mapping).","items":{"type":"string"},"type":"array"},"description":{"description":"Tool description.","type":"string"},"display_name":{"description":"Tool's display name for UI.","type":"string"},"evidence":{"description":"Details of where and/or how the tool was discovered.","items":{"$ref":"#/components/schemas/CiCdToolEvidence"},"type":"array"},"name":{"description":"Tool name.","type":"string"},"summary":{"description":"Summary of each evidence instance.","items":{"type":"string"},"type":"array"}},"required":["name"],"type":"object"},"v1CiCdTools":{"description":"CiCdTools Metric Value contains information about CI/CD tools discovered in the repository version.","properties":{"tools":{"items":{"$ref":"#/components/schemas/v1CiCdTool"},"type":"array"}},"type":"object"},"v1CisCategory":{"default":"CIS_CATEGORY_UNSPECIFIED","description":"CisCategory represents a CIS benchmark requirement category per\nCIS Software Supply Chain Security - Base v1.0.0\nhttps://workbench.cisecurity.org/benchmarks/7555.","enum":["CIS_CATEGORY_UNSPECIFIED","CIS_CATEGORY_SRC_CODE","CIS_CATEGORY_BLD_PIPELINES","CIS_CATEGORY_DEPENDENCIES","CIS_CATEGORY_ARTIFACTS","CIS_CATEGORY_DEPLOYMENT"],"type":"string"},"v1CisReqId":{"default":"CIS_REQ_ID_UNSPECIFIED","description":"CisReqId represents a CIS benchmark requirement per\nCIS Software Supply Chain Security - Base v1.0.0\nhttps://workbench.cisecurity.org/benchmarks/7555.","enum":["CIS_REQ_ID_UNSPECIFIED","CIS_REQ_ID_VERSION_CTRL","CIS_REQ_ID_TASK_MGMT","CIS_REQ_ID_TWO_APPROVERS","CIS_REQ_ID_DISMISS_APPROVAL","CIS_REQ_ID_AUTH_DISMISS","CIS_REQ_ID_CODE_OWNERS","CIS_REQ_ID_CODE_OWNER_APPROVAL","CIS_REQ_ID_DEL_INACTIVE_BRANCHES","CIS_REQ_ID_PASS_CHECKS_TO_MERGE","CIS_REQ_ID_UPDATE_BEFORE_MERGE","CIS_REQ_ID_RESOLVE_COMMENTS_TO_MERGE","CIS_REQ_ID_SIGNED_COMMITS","CIS_REQ_ID_LINEAR_HISTORY","CIS_REQ_ID_RULES_APPLY_TO_ADMIN","CIS_REQ_ID_AUTH_MERGE","CIS_REQ_ID_FORCE_PUSH_DISABLED","CIS_REQ_ID_AUTH_BRANCH_DEL","CIS_REQ_ID_SCAN_MERGES","CIS_REQ_ID_AUDIT_BRANCH_PROT_CHANGES","CIS_REQ_ID_PROT_DEFAULT_BRANCH","CIS_REQ_ID_SECURITY_MD","CIS_REQ_ID_AUTH_REPO_CREATE","CIS_REQ_ID_AUTH_REPO_DEL","CIS_REQ_ID_AUTH_ISSUE_DEL","CIS_REQ_ID_TRACK_FORKS","CIS_REQ_ID_TRACK_VISIBILITY","CIS_REQ_ID_ARCHIVE_INACTIVE_REPOS","CIS_REQ_ID_DEL_INACTIVE_USERS","CIS_REQ_ID_AUTH_TEAM_CREATE","CIS_REQ_ID_MIN_NUM_ADMINS","CIS_REQ_ID_MFA_OUTSIDE_ORG","CIS_REQ_ID_MFA_INSIDE_ORG","CIS_REQ_ID_ORG_EMAIL_ADDR","CIS_REQ_ID_TWO_ADMINS_PER_REPO","CIS_REQ_ID_STRICT_BASE_PERMS","CIS_REQ_ID_VERIFIED_ORG_BADGE","CIS_REQ_ID_SCM_EMAIL_DOMAINS","CIS_REQ_ID_ORG_SSH_CERTS","CIS_REQ_ID_AUTH_IP_ADDR","CIS_REQ_ID_TRACK_ANOMALOUS_BEHAVIOR","CIS_REQ_ID_AUTH_INSTALLED_APPS","CIS_REQ_ID_DEL_INACTIVE_APPS","CIS_REQ_ID_LEAST_PRIV_FOR_APPS","CIS_REQ_ID_SECURED_WEB_HOOKS","CIS_REQ_ID_SCAN_FOR_SENS_DATA","CIS_REQ_ID_SCAN_CI_PIPELINE_CFG","CIS_REQ_ID_SCAN_IAC_CFG","CIS_REQ_ID_SCAN_FOR_CODE_VULNS","CIS_REQ_ID_SCAN_FOR_OSS_VULNS","CIS_REQ_ID_SCAN_FOR_OSS_LICENSES","CIS_REQ_ID_SINGLE_PIPELINE_RESP","CIS_REQ_ID_IMMUTABLE_BLD_CFG","CIS_REQ_ID_LOG_BLD_ENV","CIS_REQ_ID_AUTOMATE_BLD_ENV","CIS_REQ_ID_LIMIT_BLD_ENV_ACCESS","CIS_REQ_ID_AUTH_BLD_ENV_ACCESS","CIS_REQ_ID_MIN_BLD_SECRET_SCOPE","CIS_REQ_ID_SCAN_BLD_INFRA_FOR_VULNS","CIS_REQ_ID_BLD_NO_DEFAULT_PWS","CIS_REQ_ID_BLD_SECURED_WEB_HOOKS","CIS_REQ_ID_MIN_NUM_BLD_ENV_ADMINS","CIS_REQ_ID_SINGLE_USE_BLD_WORKERS","CIS_REQ_ID_BLD_ENV_PASSED_NOT_PULLED","CIS_REQ_ID_SEP_BLD_WORKER_DUTIES","CIS_REQ_ID_MIN_BLD_WORKER_NET_CON","CIS_REQ_ID_BLD_WORKER_RUNTIME_SECURITY","CIS_REQ_ID_SCAN_BLD_WORKERS_FOR_VULNS","CIS_REQ_ID_BLD_WORKER_CFG_VERSION_CTRL","CIS_REQ_ID_MON_BLD_WORKER_RESOURCE_USE","CIS_REQ_ID_DEFINE_BLD_STEPS_AS_CODE","CIS_REQ_ID_DEFINE_BLD_STEP_INPUT_OUTPUT","CIS_REQ_ID_LOG_BLD_STEP_OUTPUT","CIS_REQ_ID_BLD_STEP_VERSION_CTRL","CIS_REQ_ID_LIMIT_BLD_TRIGGER_ACCESS","CIS_REQ_ID_SCAN_BLD_FOR_MISCFG","CIS_REQ_ID_SCAN_BLD_FOR_VULNS","CIS_REQ_ID_SCAN_BLD_FOR_SENS_DATA","CIS_REQ_ID_SIGN_BLD_ARTS","CIS_REQ_ID_LOCK_EXT_BLD_DEPS","CIS_REQ_ID_VALIDATE_BLD_DEPS","CIS_REQ_ID_REPROD_BLD_ARTS","CIS_REQ_ID_BLD_STEP_SBOMS","CIS_REQ_ID_SIGN_BLD_STEP_SBOMS","CIS_REQ_ID_VERIFY_TP_ARTS","CIS_REQ_ID_REQ_TP_SBOMS","CIS_REQ_ID_SIGNED_TP_BLD_MDATA","CIS_REQ_ID_MON_INTER_TP_DEPS","CIS_REQ_ID_TRUSTED_TP_PKG_MGRS","CIS_REQ_ID_SIGNED_TP_SBOM","CIS_REQ_ID_PIN_TP_DEPS","CIS_REQ_ID_MIN_TP_PKG_AGE","CIS_REQ_ID_ORG_TP_USAGE_POLICY","CIS_REQ_ID_SCAN_TP_PKGS_FOR_VULNS","CIS_REQ_ID_SCAN_TP_PKGS_FOR_LICENSE","CIS_REQ_ID_SCAN_TP_PKGS_FOR_OWNER_CHANGE","CIS_REQ_ID_SIGN_ARTS","CIS_REQ_ID_ENCRYPT_ARTS","CIS_REQ_ID_AUTH_ART_DECRYPT","CIS_REQ_ID_LIMIT_ART_CERT","CIS_REQ_ID_LIMIT_ART_UPLOAD","CIS_REQ_ID_MFA_FOR_PKG_REG","CIS_REQ_ID_EXT_AUTH_FOR_PKG_REG","CIS_REQ_ID_ANONYMOUS_USER_DISABLED","CIS_REQ_ID_MIN_NUM_PKG_REG_ADMINS","CIS_REQ_ID_VALIDATE_ARTS_ON_UPLOAD","CIS_REQ_ID_VALIDATE_ALL_ART_VERSIONS","CIS_REQ_ID_AUDIT_PKG_REG_CFG_CHANGES","CIS_REQ_ID_PKG_REG_SECURED_WEB_HOOKS","CIS_REQ_ID_PKG_REG_NO_DEFAULT_PWS","CIS_REQ_ID_ARTS_CONTAIN_ORIGIN_INFO","CIS_REQ_ID_BLOCK_INT_ARTS_FROM_EXT_REG","CIS_REQ_ID_SEP_DEP_CFG_FROM_SRC_CODE","CIS_REQ_ID_TRACK_DEP_CFG_CHANGES","CIS_REQ_ID_SCAN_DEP_CFG_FOR_SENS_DATA","CIS_REQ_ID_LIMIT_DEP_CFG_ACCESS","CIS_REQ_ID_SCAN_IAC_DEP_CFG","CIS_REQ_ID_VERIFY_DEP_CFG","CIS_REQ_ID_PIN_DEP_CFG_VERSIONS","CIS_REQ_ID_AUTOMATED_DEPLOYMENTS","CIS_REQ_ID_REPROD_DEPLOYMENT_ENV","CIS_REQ_ID_LIMIT_PROD_ENV_ACCESS","CIS_REQ_ID_DEPLOYMENT_NO_DEFAULT_PWS"],"type":"string"},"v1CisScorecard":{"description":"CisScorecard represents the CIS benchmark scorecard for the parent repository.\nA scorecard contains a list of benchmarks.","properties":{"benchmarks":{"items":{"$ref":"#/components/schemas/CisScorecardCisBenchmark"},"type":"array"}},"type":"object"},"v1CisSubCategory":{"default":"CIS_SUB_CATEGORY_UNSPECIFIED","description":"CisSubCategory represents a CIS benchmark requirement sub-category per\nCIS Software Supply Chain Security - Base v1.0.0\nhttps://workbench.cisecurity.org/benchmarks/7555.","enum":["CIS_SUB_CATEGORY_UNSPECIFIED","CIS_SUB_CATEGORY_CODE_CHANGES","CIS_SUB_CATEGORY_REPO_MGMT","CIS_SUB_CATEGORY_ACCESS","CIS_SUB_CATEGORY_THIRD_PARTY","CIS_SUB_CATEGORY_CODE_RISKS","CIS_SUB_CATEGORY_BLD_ENV","CIS_SUB_CATEGORY_BLD_WORKER","CIS_SUB_CATEGORY_PIPELINE_INSTRUCTIONS","CIS_SUB_CATEGORY_PIPELINE_INTEGRITY","CIS_SUB_CATEGORY_PKG_REGISTRIES","CIS_SUB_CATEGORY_VALIDATION","CIS_SUB_CATEGORY_VERIFICATION","CIS_SUB_CATEGORY_ORIGIN_TRACEABILITY","CIS_SUB_CATEGORY_DEPLOYMENT_CFG","CIS_SUB_CATEGORY_DEPLOYMENT_ENV"],"type":"string"},"v1Class":{"description":"Contains metadata information about the source code for a specific Java\nclass.","properties":{"checksum":{"$ref":"#/components/schemas/v1Hash"},"name":{"description":"Fully qualified name of the class.","type":"string"},"non_metadata_checksum":{"$ref":"#/components/schemas/v1Hash"}},"type":"object"},"v1ClientLog":{"description":"ClientLog represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ClientLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the client log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ClientLogLogMessage":{"properties":{"json_payload":{"description":"The json payload of the message.","type":"string"},"level":{"$ref":"#/components/schemas/v1LogLevel"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags that are associated with the log message.","type":"object"},"timestamp":{"description":"The timestamp of the log message.","format":"date-time","type":"string"}},"required":["level","json_payload","timestamp"],"type":"object"},"v1ClientLogSpec":{"properties":{"log_messages":{"description":"An array of log messages provided as JSON payloads.","items":{"$ref":"#/components/schemas/v1ClientLogLogMessage"},"type":"array"},"source":{"description":"The source that is creating this message.","type":"string"}},"required":["source"],"type":"object"},"v1CmdHook":{"description":"CmdHook contains payload for command-line related hooks.","properties":{"cmd_line":{"description":"Command line that was executed.","type":"string"},"tool_input":{"description":"Tool invocation input; structure is tool-specific (use Struct for JSON).","type":"object"},"tool_response":{"description":"Tool result; structure is tool-specific (e.g. stdout/stderr or filenames).","type":"object"}},"type":"object"},"v1CmdLineActivity":{"description":"CmdLineActivity matches command-line execution by regex patterns.","properties":{"patterns":{"description":"Patterns to match against the command (e.g. \"rm -rf /.*\", \"curl .* \\\\| bash\").","items":{"type":"string"},"type":"array"}},"type":"object"},"v1CmdLineMatch":{"description":"CmdLineMatch describes a command-line invocation that matched a policy.","properties":{"command_source":{"$ref":"#/components/schemas/CmdLineMatchCommandSource"},"matched_cmd_pattern":{"title":"matched cmd pattern","type":"string"},"mcp_server_name":{"description":"MCP server that carried the command (e.g. \"workspace\"). Set only when\ncommand_source is COMMAND_SOURCE_MCP_TOOL_INPUT.","type":"string"},"tool_name":{"description":"MCP tool that carried the command (e.g. \"bash\"). Set only when\ncommand_source is COMMAND_SOURCE_MCP_TOOL_INPUT.","type":"string"}},"type":"object"},"v1CocoapodSpec":{"description":"Represents a configuration for the Cocoapod package manager.\nCocoapods does not support any registry authentication.","properties":{"priority":{"description":"The priority of the Cocoapod package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"url":{"description":"The URL of the registry that the Cocoapods package manager must use.","type":"string"}},"required":["priority"],"type":"object"},"v1CodeOwnerData":{"description":"Code owner information for a file path or pattern.","properties":{"labels":{"description":"List of labels.","items":{"type":"string"},"type":"array"},"owners":{"description":"List of code owners.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1CodeOwners":{"description":"Code owner information for a project.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1CodeOwnersSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1CodeOwnersSpec":{"properties":{"file_hash":{"description":"The SHA-256 hash of the CODEOWNERS file.","type":"string"},"patterns":{"additionalProperties":{"$ref":"#/components/schemas/v1CodeOwnerData"},"description":"Map of code owner data indexed by file path or pattern.\n\nThe list of owners is refreshed based on the content of\nthe CODEOWNERS file from the default repository version,\nif present. Other fields, such as the list of labels,\ncan be populated manually as needed.\nFor projects that do not use a standard CODEOWNERS file the\nentire map can be populated manually.\n\nFor more information please see the GitHub CODEOWNERS syntax.\n\nNote:\nIf there is one owner for files under e.g. /src/typescript/ and\na different owner for all *.js files, then all js files under\nsrc/typescript/ are mapped to both owners instead of basing it\non the order of the patterns in the CODEOWNERS file where the\nlast matching pattern takes the most precedence.","type":"object"},"version":{"$ref":"#/components/schemas/v1Version"}},"type":"object"},"v1ColumnTypes":{"default":"COLUMN_TYPES_UNSPECIFIED","description":"The supported data types.\n\n - COLUMN_TYPES_UNSPECIFIED: EMPTY\n - COLUMN_TYPES_INT32: INT32\n - COLUMN_TYPES_STRING: String\n - COLUMN_TYPES_FLOAT: Float\n - COLUMN_TYPES_BOOL: Bool\n - COLUMN_TYPES_STRING_LIST: List of strings","enum":["COLUMN_TYPES_UNSPECIFIED","COLUMN_TYPES_INT32","COLUMN_TYPES_STRING","COLUMN_TYPES_FLOAT","COLUMN_TYPES_BOOL","COLUMN_TYPES_STRING_LIST"],"type":"string"},"v1ColumnValue":{"description":"The container for various data types that can be contained in a column.\nThe information from column_types in TableDescription is used to read the values.","properties":{"bool_value":{"type":"boolean"},"float_value":{"format":"float","type":"number"},"int_value":{"format":"int32","type":"integer"},"str_value":{"type":"string"},"string_list_value":{"$ref":"#/components/schemas/v1StringList"}},"type":"object"},"v1ComplianceEnrollment":{"description":"ComplianceEnrollment holds a tenant's Anthropic Compliance API enrollment:\nthe Access Key the server-side directory sync authenticates with, and the\nswitch that pauses the sync without discarding the key.\n\nThis is a credential, not an integration that produces scannable projects,\nso it is its own resource rather than an Installation platform type. The\ncompliancedirsyncer housekeeping job reads it on its own cadence; nothing\nabout it reaches the scan scheduler.\n\nOne per tenant. The sync reconciles a whole namespace against one directory,\nso a second enrollment in the same namespace would treat every user the\nfirst one synced as departed and delete their entries. A unique index on\ntenant_meta.namespace enforces this in storage.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ComplianceEnrollmentSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a ComplianceEnrollment.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1ComplianceEnrollmentSpec":{"properties":{"access_token":{"description":"The Anthropic Compliance Access Key (sk-ant-api01-...) the directory sync\nauthenticates with. Stored in the platform secret manager; read APIs\nreturn the redacted placeholder rather than the stored value, and the key\nis only ever used server-side.","type":"string"},"enabled":{"description":"Pauses the directory sync without discarding the enrollment. A disabled\nenrollment keeps its roster: it is paused, not revoked.","type":"boolean"}},"type":"object"},"v1ConanSpec":{"description":"Represents a configuration for the Conan package manager.","properties":{"aws":{"$ref":"#/components/schemas/PackageManagerAWSAuthProvider"},"basic_auth":{"$ref":"#/components/schemas/v1ConanSpecBasicAuth"},"priority":{"description":"The priority of the Conan package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"remote_name":{"description":"The logical name of the remote in the Conan client configuration.","type":"string"},"url":{"description":"The URL of the Conan remote registry.","type":"string"}},"required":["priority"],"type":"object"},"v1ConanSpecBasicAuth":{"properties":{"password":{"description":"Password or API token for basic auth.","type":"string"},"username":{"description":"Username for basic auth (JFrog Artifactory or self-hosted).","type":"string"}},"required":["username","password"],"type":"object"},"v1Confidence":{"default":"CONFIDENCE_UNSPECIFIED","description":"Protobuf definition for Confidence.","enum":["CONFIDENCE_UNSPECIFIED","CONFIDENCE_UNKNOWN","CONFIDENCE_HIGH","CONFIDENCE_MEDIUM","CONFIDENCE_LOW"],"type":"string"},"v1Conflict":{"description":"Protobuf definition for Conflict.","properties":{"conflicting_current":{"description":"The conflicting transitive dependency, current version.","type":"string"},"conflicting_directs_current":{"description":"The direct dependencies using the conflicting transitive dependency in the current version.","items":{"type":"string"},"type":"array"},"conflicting_directs_upgrade":{"description":"The direct dependencies using the conflicting transitive dependency after the upgrade.","items":{"type":"string"},"type":"array"},"conflicting_upgrade":{"description":"The conflicting transitive dependency, version after the upgrade.","type":"string"},"current":{"description":"The current version of the direct dependency being upgraded.","type":"string"},"upgrade":{"description":"The new version of the direct dependency being upgraded.","type":"string"}},"type":"object"},"v1Constraint":{"properties":{"max":{"type":"string"},"min":{"type":"string"}},"type":"object"},"v1ContainerArchitecture":{"default":"CONTAINER_ARCHITECTURE_UNSPECIFIED","description":"Container architecture.\n\n - CONTAINER_ARCHITECTURE_UNSPECIFIED: Unspecified architecture.\n - CONTAINER_ARCHITECTURE_UNKNOWN: Unknown architecture.\n - CONTAINER_ARCHITECTURE_AMD64: amd64 (64-bit x86) architecture.\n - CONTAINER_ARCHITECTURE_386: 386 (32-bit x86) architecture.\n - CONTAINER_ARCHITECTURE_ARM: arm (32-bit ARM) architecture.\n - CONTAINER_ARCHITECTURE_ARM64: arm64 (64-bit ARM) architecture.\n - CONTAINER_ARCHITECTURE_PPC64LE: ppc64le (PowerPC 64-bit, little-endian) architecture.\n - CONTAINER_ARCHITECTURE_PPC64: ppc64 (PowerPC 64-bit, big-endian) architecture  .\n - CONTAINER_ARCHITECTURE_MIPS64LE: mips64le (MIPS 64-bit, little-endian) architecture.\n - CONTAINER_ARCHITECTURE_MIPS64: mips64 (MIPS 64-bit, big-endian) architecture.\n - CONTAINER_ARCHITECTURE_MIPSLE: mipsle (MIPS 32-bit, little-endian) architecture.\n - CONTAINER_ARCHITECTURE_MIPS: mips (MIPS 32-bit, big-endian) architecture.\n - CONTAINER_ARCHITECTURE_S390X: s390x (IBM System z 64-bit, big-endian) architecture.\n - CONTAINER_ARCHITECTURE_WASM: wasm (WebAssembly 32-bit) architecture.","enum":["CONTAINER_ARCHITECTURE_UNSPECIFIED","CONTAINER_ARCHITECTURE_UNKNOWN","CONTAINER_ARCHITECTURE_AMD64","CONTAINER_ARCHITECTURE_386","CONTAINER_ARCHITECTURE_ARM","CONTAINER_ARCHITECTURE_ARM64","CONTAINER_ARCHITECTURE_PPC64LE","CONTAINER_ARCHITECTURE_PPC64","CONTAINER_ARCHITECTURE_MIPS64LE","CONTAINER_ARCHITECTURE_MIPS64","CONTAINER_ARCHITECTURE_MIPSLE","CONTAINER_ARCHITECTURE_MIPS","CONTAINER_ARCHITECTURE_S390X","CONTAINER_ARCHITECTURE_WASM"],"type":"string"},"v1ContainerAsBase":{"description":"ContainerAsBase captures usage of this container image as a base image elsewhere.","properties":{"first_seen":{"description":"First time this image was seen used as a base image.","format":"date-time","type":"string"},"last_seen":{"description":"Most recent time this image was seen used as a base image.","format":"date-time","type":"string"},"update_options":{"$ref":"#/components/schemas/v1ContainerImageUpdateOptions"},"use_count":{"description":"Number of times this image has been seen used as a base image.\nThis number is used for trending and it's not meant for exact usage tracking.","format":"uint64","type":"string"},"used":{"description":"True if this image is used as a base image elsewhere.","type":"boolean"}},"type":"object"},"v1ContainerBaseImage":{"description":"The base image of a container Image.","properties":{"chain_id":{"description":"Chain ID for the base image's layers.","type":"string"},"digest":{"description":"The SHA256 digest of the base image.","type":"string"},"name":{"description":"The name of the base image. For example, \"debian:bookworm-slim\".","type":"string"},"package_version_uuid":{"description":"The UUID of the base image's own PackageVersion, if it has been scanned.\nPopulated by the scanner from the in-memory base image lookup at scan\ntime; consumers that need this after the fact and find it unset may fall\nback to a digest-based PackageVersion lookup.","type":"string"},"update_options":{"$ref":"#/components/schemas/v1ContainerImageUpdateOptions"}},"type":"object"},"v1ContainerBaseImageUpdateImpactQuery":{"description":"ContainerBaseImageUpdateImpactQuery computes, on demand, how the vulnerability\nfindings of a scanned container image's base image would change if the base\nwere moved to each of its available update options (refreshed, next, latest).\nIt is a computed query in the style of DashboardSummaryQuery: the response is\nderived live from existing Finding and PackageVersion records and is never\npersisted, so it cannot go stale as findings are recomputed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ContainerBaseImageUpdateImpactQuerySpec":{"description":"Spec carries the request and the computed response.","properties":{"request":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactQuerySpecResponse"}},"type":"object"},"v1ContainerBaseImageUpdateImpactQuerySpecRequest":{"description":"Inputs that select the app image and shape the computation.","properties":{"include_common_records":{"description":"Include the inline `common` finding list (present on both the current\nbase and the candidate) in every severity and reachability bucket of\nevery update option. Unset/false returns only `common_num_results`\n(the count), keeping the default response size unchanged. The common\nset is normally the largest bucket by a wide margin; for a full list\nuse ContainerBaseImageUpdateImpactRecordsQueryService with\nRECORD_KIND_COMMON regardless of this flag.","type":"boolean"},"max_top_records_per_bucket":{"description":"Maximum number of top changed findings per list, in both the\nseverity_records and reachability_records groupings. Applied to each\nbucket's fixed and introduced lists separately (e.g. up to this many\nfixed and this many introduced criticals). Unset defaults to 10; set to 0\nto omit the inline lists (counts only, cheaper). Capped at 100; for a full\nper-bucket list use ContainerBaseImageUpdateImpactRecordsQueryService. A\nsingle-digit value is typical (cf. the dashboard's top-N of 8).","format":"int32","type":"integer"},"package_version_uuid":{"description":"The scanned application image PackageVersion whose\ncontainer_metadata.base_image.update_options define the candidates to\nassess. Its own findings supply the reachability that is projected onto\nthe base image findings, since candidate base scans do not measure\nreachability themselves.","type":"string"},"record_scope":{"$ref":"#/components/schemas/v1FindingRecordScope"}},"required":["package_version_uuid"],"type":"object"},"v1ContainerBaseImageUpdateImpactQuerySpecResponse":{"description":"Computed results: shared current-base counts plus one entry per update\noption available on the app image.","properties":{"all_counts":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"all_reachability_counts":{"$ref":"#/components/schemas/ResponseReachabilityCounts"},"base_image_digest":{"description":"The current base image manifest digest, copied from the app image's\ncontainer_metadata.base_image.digest.","readOnly":true,"type":"string"},"base_image_name":{"description":"The current base image reference (tag), copied from the app image's\ncontainer_metadata.base_image.name.","readOnly":true,"type":"string"},"latest_option":{"$ref":"#/components/schemas/ResponseUpdateOption"},"next_option":{"$ref":"#/components/schemas/ResponseUpdateOption"},"reachability_available":{"description":"True when OS reachability analysis was enabled and succeeded on the app\nimage scan. When true, the *_reachability_counts fields (here and on each\nupdate option) are populated; when false they are left unset and only the\n*_counts severity breakdowns are returned.","readOnly":true,"type":"boolean"},"refreshed_option":{"$ref":"#/components/schemas/ResponseUpdateOption"},"vuln_counts":{"$ref":"#/components/schemas/ResponseSeverityCounts"},"vuln_reachability_counts":{"$ref":"#/components/schemas/ResponseReachabilityCounts"}},"type":"object"},"v1ContainerBaseImageUpdateImpactRecordsQuery":{"description":"ContainerBaseImageUpdateImpactRecordsQuery pages through the full fixed or\nintroduced finding list for a single update option and a single bucket (one\nseverity or one reachability bucket), using the standard ListParameters\npagination contract. It backs each per-bucket \"View more\" in the impact UI.\nThe impact query above returns only the top-N inline records per bucket; this\nquery is the drill-down for the complete per-bucket, per-kind set.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ContainerBaseImageUpdateImpactRecordsQueryRecordKind":{"default":"RECORD_KIND_UNSPECIFIED","description":"Which side of the diff to page: fixed and introduced are separate lists.\n\n - RECORD_KIND_UNSPECIFIED: The kind was not set.\n - RECORD_KIND_FIXED: Findings present on the current base but gone on the candidate (fixed).\n - RECORD_KIND_INTRODUCED: Findings absent on the current base but present on the candidate.\n - RECORD_KIND_COMMON: Findings present on both the current base and the candidate, unaffected\nby the update. Taken from the current-base side (see\nBaseImageFindingRecord on ContainerBaseImageUpdateImpactQuery).","enum":["RECORD_KIND_UNSPECIFIED","RECORD_KIND_FIXED","RECORD_KIND_INTRODUCED","RECORD_KIND_COMMON"],"type":"string"},"v1ContainerBaseImageUpdateImpactRecordsQuerySeverity":{"default":"SEVERITY_UNSPECIFIED","description":"A severity bucket to page (the severity view).\n\n - SEVERITY_UNSPECIFIED: The severity was not set.\n - SEVERITY_CRITICAL: Critical-severity findings.\n - SEVERITY_HIGH: High-severity findings.\n - SEVERITY_MEDIUM: Medium-severity findings.\n - SEVERITY_LOW: Low-severity findings.\n - SEVERITY_NONE: Findings that carry no severity level, which a finding policy can emit.\nThey are counted in the totals but belong to none of the buckets above,\nso a caller sweeping every record has to ask for them by name.","enum":["SEVERITY_UNSPECIFIED","SEVERITY_CRITICAL","SEVERITY_HIGH","SEVERITY_MEDIUM","SEVERITY_LOW","SEVERITY_NONE"],"type":"string"},"v1ContainerBaseImageUpdateImpactRecordsQuerySpec":{"description":"Spec carries the request and the computed page of records.","properties":{"request":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySpecResponse"}},"type":"object"},"v1ContainerBaseImageUpdateImpactRecordsQuerySpecRequest":{"description":"Inputs that select the bucket and the page.","properties":{"list_parameters":{"$ref":"#/components/schemas/v1ListParameters"},"package_version_uuid":{"description":"The scanned application image PackageVersion (same as the impact query).","type":"string"},"reachability":{"$ref":"#/components/schemas/ContainerBaseImageUpdateImpactRecordsQueryReachabilityBucket"},"record_kind":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQueryRecordKind"},"record_scope":{"$ref":"#/components/schemas/v1FindingRecordScope"},"severity":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySeverity"},"update_option_kind":{"$ref":"#/components/schemas/ContainerBaseImageUpdateImpactRecordsQueryUpdateOptionKind"}},"required":["package_version_uuid","update_option_kind","record_kind"],"type":"object"},"v1ContainerBaseImageUpdateImpactRecordsQuerySpecResponse":{"description":"A single page of records.","properties":{"page":{"$ref":"#/components/schemas/v1ListResponse"},"records":{"description":"The findings for this page (all of the requested record_kind), with\nreachability projected from the app image (see §3).","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"}},"type":"object"},"v1ContainerCompositionMetadata":{"description":"ContainerCompositionMetadata is the metadata of the composition of a container image.","properties":{"package_type":{"$ref":"#/components/schemas/v1ContainerPackageType"}},"type":"object"},"v1ContainerContextDiff":{"description":"State of the context-diff suppression feature for one container scan.","properties":{"baseline_package_version_uuid":{"description":"Baseline PackageVersion used by the last reconcile. Informational only:\nthe reconcile always re-resolves the baseline rather than trusting this,\nsince a MAIN rescan replaces the baseline PV with a new UUID.","type":"string"},"last_reconcile_time":{"description":"When the reconcile pass (CLI-triggered or the periodic auto-reconcile)\nlast ran for this scan.","format":"date-time","type":"string"},"record_scope":{"$ref":"#/components/schemas/ContainerContextDiffRecordScope"},"suppress_baseline_findings":{"description":"True once --snooze-baseline-findings has been applied to this scan; makes\nthe periodic finding refresh re-run the reconcile pass against the\ncurrent baseline for as long as this stays true.","type":"boolean"}},"type":"object"},"v1ContainerContextDiffQuery":{"description":"ContainerContextDiffQuery computes, on demand, the finding delta between two\nscanned container PackageVersions: typically a MAIN-context baseline scan\nof an image and an alternative-context (REF) scan of a newer build of the\nsame image. It is a computed query in the style of\nContainerBaseImageUpdateImpactQuery: the response is derived live from\nexisting Finding and PackageVersion records and is never persisted, so it\ncannot go stale as findings are recomputed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerContextDiffQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ContainerContextDiffQuerySpec":{"description":"Spec carries the request and the computed response.","properties":{"request":{"$ref":"#/components/schemas/v1ContainerContextDiffQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1ContainerContextDiffQuerySpecResponse"}},"type":"object"},"v1ContainerContextDiffQuerySpecRequest":{"description":"Inputs that select the two scans being compared and shape the\ncomputation.","properties":{"baseline_package_version_uuid":{"description":"The scan to compare against. When unset, resolved as the same\nproject's MAIN-context container PackageVersion for the same image\nrepository as the target.","type":"string"},"max_top_records_per_bucket":{"description":"Maximum number of top changed findings per list, in both the\nseverity and reachability groupings. Applied to each bucket's fixed,\nintroduced, and common lists separately. Unset defaults to 10; set to\n0 to omit the inline lists (counts only, cheaper). Capped at 100; for\na full per-bucket list use ContainerContextDiffRecordsQueryService.","format":"int32","type":"integer"},"package_version_uuid":{"description":"The scan being assessed, normally the REF-context (branch/build)\nscan. Its findings are the ones suppression, when requested, acts on.","type":"string"},"record_scope":{"$ref":"#/components/schemas/v1FindingRecordScope"}},"required":["package_version_uuid"],"type":"object"},"v1ContainerContextDiffQuerySpecResponse":{"description":"Computed results: both sides' identity, shared current counts, and the\ndelta between them.","properties":{"all_changes":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"all_counts":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"all_reachability_counts":{"$ref":"#/components/schemas/ResponseDiffReachabilityCounts"},"all_target_counts":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"baseline":{"$ref":"#/components/schemas/v1ContainerScanRef"},"reachability_available":{"description":"True when OS reachability analysis was enabled and succeeded on the\ntarget scan. When true, the *_reachability_counts fields are\npopulated; when false they are left unset and only the *_counts\nseverity breakdowns are returned.","readOnly":true,"type":"boolean"},"reachability_records":{"$ref":"#/components/schemas/SpecResponseReachabilityRecords"},"severity_records":{"$ref":"#/components/schemas/SpecResponseSeverityRecords"},"target":{"$ref":"#/components/schemas/v1ContainerScanRef"},"vuln_changes":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"vuln_counts":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"},"vuln_reachability_counts":{"$ref":"#/components/schemas/ResponseDiffReachabilityCounts"},"vuln_target_counts":{"$ref":"#/components/schemas/ResponseDiffSeverityCounts"}},"type":"object"},"v1ContainerContextDiffRecordsQuery":{"description":"ContainerContextDiffRecordsQuery pages through the full fixed, introduced,\nor common finding list for a single bucket (one severity or one\nreachability bucket), using the standard ListParameters pagination\ncontract. It backs each per-bucket \"View more\" in the diff UI, and is also\nhow `--snooze-baseline-findings` pages the RECORD_KIND_COMMON set to\ndetermine what to suppress. The diff query above returns only the top-N\ninline records per bucket; this query is the drill-down for the complete\nper-bucket, per-kind set.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ContainerContextDiffRecordsQueryRecordKind":{"default":"RECORD_KIND_UNSPECIFIED","description":"Which side of the diff to page: fixed, introduced, and common are\nseparate lists.\n\n - RECORD_KIND_UNSPECIFIED: The kind was not set.\n - RECORD_KIND_FIXED: Findings present on the baseline but gone on the target (fixed).\n - RECORD_KIND_INTRODUCED: Findings absent on the baseline but present on the target\n(introduced).\n - RECORD_KIND_COMMON: Findings present on both sides, unaffected by the diff. Taken from the\ntarget side. This is the set `--snooze-baseline-findings` pages.","enum":["RECORD_KIND_UNSPECIFIED","RECORD_KIND_FIXED","RECORD_KIND_INTRODUCED","RECORD_KIND_COMMON"],"type":"string"},"v1ContainerContextDiffRecordsQuerySpec":{"description":"Spec carries the request and the computed page of records.","properties":{"request":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQuerySpecResponse"}},"type":"object"},"v1ContainerContextDiffRecordsQuerySpecRequest":{"description":"Inputs that select the bucket and the page.","properties":{"baseline_package_version_uuid":{"description":"The scan to compare against (same as the diff query's baseline;\nauto-resolved the same way when unset).","type":"string"},"list_parameters":{"$ref":"#/components/schemas/v1ListParameters"},"package_version_uuid":{"description":"The scan being assessed (same as the diff query's target).","type":"string"},"reachability":{"$ref":"#/components/schemas/ContainerBaseImageUpdateImpactRecordsQueryReachabilityBucket"},"record_kind":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQueryRecordKind"},"record_scope":{"$ref":"#/components/schemas/v1FindingRecordScope"},"severity":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuerySeverity"}},"required":["package_version_uuid","record_kind"],"type":"object"},"v1ContainerContextDiffRecordsQuerySpecResponse":{"description":"A single page of records.","properties":{"page":{"$ref":"#/components/schemas/v1ListResponse"},"records":{"description":"The findings for this page (all of the requested record_kind), with\nreachability projected from the target scan.","items":{"$ref":"#/components/schemas/v1BaseImageFindingRecord"},"readOnly":true,"type":"array"}},"type":"object"},"v1ContainerDependencyLayer":{"description":"ContainerDependency is a dependency of a container image.","properties":{"digest":{"description":"The SHA256 digest of the layer,\nwhere a dependency is found to be present in the container.","type":"string"},"file_locations":{"description":"The locations of the files in the container,\nthrough which the dependency is evident to be present in the container.","items":{"type":"string"},"type":"array"}},"required":["digest"],"type":"object"},"v1ContainerDependencyMetadata":{"properties":{"first_reachable_time":{"description":"First time this dependency was determined to be reachable in an application image.","format":"date-time","type":"string"},"last_reachable_time":{"description":"Most recent time this dependency was determined to be reachable in an application image.","format":"date-time","type":"string"},"layers":{"description":"Layers of the container image where a dependency is found.\nThis is an optional field.\nIt is only set when target dependency is found via container image scan.","items":{"$ref":"#/components/schemas/v1ContainerLayerMetadata"},"type":"array"},"reachable_count":{"description":"Number of times this dependency was determined to be reachable in an application image.\nThis number is used for trending and it's not meant for exact usage tracking.","format":"uint64","type":"string"},"runtime_files":{"description":"Files accessed when a dependency is called at runtime in the container image.\nThis is an optional field.\nIt is only set when the dependency is found to be used at runtime in the container image.","items":{"type":"string"},"type":"array"},"user_application_dependency":{"description":"Set to true if this is a user application dependency.","type":"boolean"}},"type":"object"},"v1ContainerImageUpdateOption":{"description":"ContainerImageUpdateOption describes a single base image update candidate.","properties":{"chain_id":{"description":"Chain ID for the candidate image's layers.","type":"string"},"digest":{"description":"The SHA256 digest of the candidate image (e.g., \"sha256:...\").","type":"string"},"name":{"description":"Full image reference including registry, repository, and tag\n(e.g., \"docker.io/library/ubuntu:22.04\").","type":"string"},"package_version_uuid":{"description":"UUID of the container PackageVersion produced by scanning this candidate.","type":"string"}},"type":"object"},"v1ContainerImageUpdateOptions":{"description":"ContainerImageUpdateOptions groups possible base image update candidates.","properties":{"latest_version":{"$ref":"#/components/schemas/v1ContainerImageUpdateOption"},"next_version":{"$ref":"#/components/schemas/v1ContainerImageUpdateOption"},"refreshed":{"$ref":"#/components/schemas/v1ContainerImageUpdateOption"},"update_time":{"description":"Time when these update options were determined.","format":"date-time","type":"string"}},"type":"object"},"v1ContainerLayer":{"description":"A layer of a container image.","properties":{"base_layer":{"description":"True if the layer is came through the base image otherwise false.","type":"boolean"},"command":{"description":"The command that was run to create the layer.\nFor example, `COPY /app /app`.\nThis is an optional field.","type":"string"},"digest":{"description":"digest is the sha256 digest of the layer.","type":"string"}},"required":["digest"],"type":"object"},"v1ContainerLayerMetadata":{"properties":{"base_layer":{"description":"Set to true if this is the base image layer.","type":"boolean"},"digest":{"description":"The SHA256 digest of the container image layer.","type":"string"},"file_locations":{"description":"File locations on the container file system that reference the dependency.","items":{"type":"string"},"type":"array"}},"required":["digest"],"type":"object"},"v1ContainerMetadata":{"description":"ContainerMetadata is the metadata of a container image.","properties":{"architecture":{"$ref":"#/components/schemas/v1ContainerArchitecture"},"base_image":{"$ref":"#/components/schemas/v1ContainerBaseImage"},"chain_id":{"description":"Chain ID for the image's layers.","type":"string"},"command":{"description":"List of container command arguments.","items":{"type":"string"},"type":"array"},"context_diff":{"$ref":"#/components/schemas/v1ContainerContextDiff"},"digest":{"description":"The SHA256 digest of the container image.","type":"string"},"distribution":{"description":"The OS distribution of the base image.","type":"string"},"entrypoint":{"description":"List of container entrypoint arguments.","items":{"type":"string"},"type":"array"},"environment":{"description":"List of container environment variables.","items":{"type":"string"},"type":"array"},"exposed_ports":{"description":"List of container exposed ports.","items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Map of container labels.","type":"object"},"layers":{"description":"The list of layers of the container in the order they are applied to\nassemble the container image. The layers are the SHA256 digest of the\ncontainer image layers. The list is equivalent to the output of `docker\ninspect --format='{{.RootFS.Layers}}' \u003cimage\u003e`.","items":{"$ref":"#/components/schemas/v1ContainerLayer"},"type":"array"},"previous_base_image":{"$ref":"#/components/schemas/v1ContainerBaseImage"},"profile_details":{"$ref":"#/components/schemas/v1ContainerProfileDetails"},"profile_error":{"$ref":"#/components/schemas/v1ContainerProfileError"},"profiled":{"description":"True if the container image has been profiled.","type":"boolean"},"repo_digest":{"description":"The repo digest of the container image (e.g., \"your-image-name@sha256:...\").","type":"string"},"used_as_base":{"$ref":"#/components/schemas/v1ContainerAsBase"},"version":{"description":"The version of the OS distribution of the base image.","type":"string"},"working_directory":{"description":"The working directory of the container.","type":"string"}},"type":"object"},"v1ContainerPackageType":{"default":"CONTAINER_PACKAGE_TYPE_UNSPECIFIED","description":"ContainerPackageType is the type of container package.\n\n - CONTAINER_PACKAGE_TYPE_UNSPECIFIED: Unspecified container package type.\n - CONTAINER_PACKAGE_TYPE_LIBRARY: Library container package type.\n - CONTAINER_PACKAGE_TYPE_APPLICATION: Application container package type.\n - CONTAINER_PACKAGE_TYPE_APPLICATION_LIBRARY: Application and Library container package type.\n - CONTAINER_PACKAGE_TYPE_OS_LIBRARY: OS Library container package type.\n - CONTAINER_PACKAGE_TYPE_OS_APPLICATION: OS Application container package type.\n - CONTAINER_PACKAGE_TYPE_OS_APPLICATION_LIBRARY: OS Application and Library container package type.","enum":["CONTAINER_PACKAGE_TYPE_UNSPECIFIED","CONTAINER_PACKAGE_TYPE_LIBRARY","CONTAINER_PACKAGE_TYPE_APPLICATION","CONTAINER_PACKAGE_TYPE_APPLICATION_LIBRARY","CONTAINER_PACKAGE_TYPE_OS_LIBRARY","CONTAINER_PACKAGE_TYPE_OS_APPLICATION","CONTAINER_PACKAGE_TYPE_OS_APPLICATION_LIBRARY"],"type":"string"},"v1ContainerProfileDetails":{"description":"ContainerProfileDetails represents the details of the container profiling.","properties":{"application_type":{"$ref":"#/components/schemas/ContainerProfileDetailsApplicationType"},"detected_as_base_image":{"description":"True if container image is a generic base image.\nFor example, \"debian:bookworm-slim\" where entry point is generic shell like \"/bin/sh\" or \"/bin/bash\".","type":"boolean"},"duration_ms":{"description":"The duration of the profile in milliseconds.","format":"int64","type":"string"},"entry_point_package_version_name":{"description":"Dependency that boots the container image and creates Process ID (PID) 1.","type":"string"},"profile_type":{"$ref":"#/components/schemas/ContainerProfileDetailsProfileType"}},"type":"object"},"v1ContainerProfileError":{"description":"ContainerProfileError represents the error while profiling the container image.","properties":{"description":{"description":"A description of the profile error.","type":"string"},"status":{"$ref":"#/components/schemas/ContainerProfileErrorContainerProfileStatus"}},"type":"object"},"v1ContainerRuntimeDependencyFile":{"description":"ContainerRuntimeDependencyFile is a file accessed in the container image at runtime.","properties":{"digests":{"description":"Digest of the file.","items":{"$ref":"#/components/schemas/v1Digest"},"type":"array"},"file_type":{"$ref":"#/components/schemas/v1FileType"},"path":{"description":"Path of the dependency file as seen in the container image.","type":"string"},"real_path":{"description":"Actual path of the file accessed when a dependency is called at runtime in the\ncontainer image.","type":"string"}},"type":"object"},"v1ContainerScanRef":{"description":"Identifies one side of a ContainerContextDiffQuery: which scan it is and\nwhich context (MAIN/REF/CI_RUN) it was scanned into.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"digest":{"description":"The image manifest digest, copied from this PackageVersion's\nspec.container_metadata.digest.","readOnly":true,"type":"string"},"image":{"description":"The scanned image reference, copied from this PackageVersion's meta.name\n(e.g. \"container://nginx@1.29\").","readOnly":true,"type":"string"},"namespace":{"description":"The namespace this PackageVersion was found in. May differ from the\ncaller's own namespace when resolution traversed into a child\nnamespace. Suppression callers use this to enforce that both sides\nshare a namespace before writing.","readOnly":true,"type":"string"},"package_version_uuid":{"description":"The PackageVersion UUID for this side of the diff.","readOnly":true,"type":"string"},"project_uuid":{"description":"The project this PackageVersion belongs to. Callers that apply\nsuppression on top of the diff (endorctl's --snooze-baseline-findings)\nuse this to enforce that both sides share a project before writing.","readOnly":true,"type":"string"}},"type":"object"},"v1Context":{"description":"Contexts keep objects from different scans separated.","properties":{"id":{"description":"The context ID, such as a pull request ID or branch reference.","type":"string"},"tags":{"description":"A list of tags applied to a context. Used primarily for CI and SBOM\ncontexts.","items":{"type":"string"},"type":"array"},"type":{"$ref":"#/components/schemas/ContextContextType"},"will_be_deleted_at":{"description":"Time that all objects in this context will be deleted.\nThis field is deprecated and will be removed in the future.\nPlease use the meta.will_be_deleted_at field instead.","format":"date-time","readOnly":true,"type":"string"}},"required":["type","id"],"type":"object"},"v1Contributor":{"description":"Contributor represents a contributor discovered from git repository scans.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the contributor record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ContributorEmail":{"description":"ContributorEmail represents an email address of a contributor.","properties":{"email":{"description":"The email address of the contributor.","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional metadata for the breakdown entry.\nKeys must match pattern: ^[-A-Za-z0-9_.]*$ and be max 64 characters.\nValues must be max 16384 bytes.","type":"object"}},"required":["email"],"type":"object"},"v1ContributorHistory":{"description":"ContributorHistory represents a bi-weekly snapshot of aggregated contributor data\nfor trend visualization. Each snapshot captures the state of active contributors\nin the last 90 days at the time of the snapshot.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorHistorySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the contributor history record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ContributorHistorySpec":{"properties":{"active_count":{"description":"The number of unique active contributors in the last 90 days\nas of the snapshot date.","format":"uint64","type":"string"},"breakdowns":{"description":"Breakdown of contributor counts by different dimensions (e.g. project).","items":{"$ref":"#/components/schemas/v1BreakdownEntry"},"type":"array"},"emails":{"description":"The emails of the contributors at this snapshot.","items":{"$ref":"#/components/schemas/v1ContributorEmail"},"type":"array"},"pat_scan_required_orgs":{"description":"The list of source-code-host orgs that require a PAT-based contributor scan\n(the default app/installation-based scans did not fully cover all contributors\nfor these orgs, so a PAT-based job must be run instead). Each entry carries\nthe org host_url together with its SCM platform so on-prem instances are\nunambiguously classified.","items":{"$ref":"#/components/schemas/v1PatRequiredOrg"},"type":"array"},"purchased_seat_count":{"description":"The number of seats the customer has purchased as of the snapshot date.","format":"uint64","type":"string"},"snapshot_date":{"description":"The date/time when this snapshot was taken.\nThis represents a bi-weekly snapshot for trend visualization.\nWhile snapshots are generated bi-weekly, the UI will aggregate to show\none record per month for display purposes.","format":"date-time","type":"string"}},"required":["snapshot_date","active_count","purchased_seat_count"],"type":"object"},"v1ContributorIdentityMapping":{"description":"ContributorIdentityMapping links a SCM login to one or more normalized commit emails for a tenant.\nData is populated from SCM APIs (e.g. App based scans or PAT-backed reports) and used to deduplicate contributors across emails.\n\nDeterministic canonical_email (persisted in spec.canonical_email, applied on create/update only):\n 1. Normalize every associated email: trim ASCII whitespace and lowercase (same rules as contributor aggregation).\n 2. Deduplicate, then sort lexicographically before persisting associated_emails.\n 3. If any email is a GitHub noreply address for this login (see github.com docs: USERNAME@users.noreply.github.com\n    or ID+USERNAME@users.noreply.github.com), pick the lexicographically smallest matching noreply address.\n 4. Otherwise use the lexicographically smallest normalized email.\n\nAggregation and other readers must use spec.canonical_email as stored;\nthey must not re-derive a different \"first\" email from scan order.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ContributorIdentityMappingSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the contributor identity mapping record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ContributorIdentityMappingSpec":{"properties":{"associated_emails":{"description":"Normalized emails associated with this GitHub user (trimmed, lowercased, sorted lexicographically on write).","items":{"type":"string"},"type":"array"},"canonical_email":{"description":"Persisted canonical email for stable counting and display (recomputed on create/update by the API server).","readOnly":true,"type":"string"},"login":{"description":"SCM login for this identity (natural upsert key with tenant namespace).","type":"string"}},"required":["login","associated_emails"],"type":"object"},"v1ContributorSpec":{"properties":{"contributor_email":{"description":"The email address of the contributor.\nThis is the unique identifier used for upserts.\nFormat: email addresses extracted from git commit authors.","type":"string"},"is_forked_project":{"description":"Indicates whether the project is a forked project.","type":"boolean"},"is_public_project":{"description":"Indicates whether the project is a public project.","type":"boolean"},"last_seen":{"description":"The last time the contributor committed to the project at the given ref.","format":"date-time","type":"string"},"project_uuid":{"description":"The UUID of the project that the contributor is associated with.","type":"string"},"ref":{"description":"The ID of the git reference the contributor was discovered from.","type":"string"}},"required":["contributor_email","project_uuid","last_seen","ref"],"type":"object"},"v1Correctness":{"default":"CORRECTNESS_UNSPECIFIED","description":"Correctness represents a correctness assessment.\n\n - CORRECTNESS_TRUE_POSITIVE: The AI analysis result is a true positive.\n - CORRECTNESS_FALSE_POSITIVE: The AI analysis result is a false positive.\n - CORRECTNESS_FALSE_NEGATIVE: The AI analysis result is a false negative.\n - CORRECTNESS_UNKNOWN: The AI analysis result is unknown.","enum":["CORRECTNESS_UNSPECIFIED","CORRECTNESS_TRUE_POSITIVE","CORRECTNESS_FALSE_POSITIVE","CORRECTNESS_FALSE_NEGATIVE","CORRECTNESS_UNKNOWN"],"type":"string"},"v1CorrectnessAnalyzer":{"default":"CORRECTNESS_ANALYZER_UNSPECIFIED","description":"CorrectnessAnalyzer represents the analyzer used to determine the correctness of a linter result.","enum":["CORRECTNESS_ANALYZER_UNSPECIFIED","CORRECTNESS_ANALYZER_AI_GEMINI_FLASH_2_5","CORRECTNESS_ANALYZER_AI_GEMINI_FLASH_2_5_LITE","CORRECTNESS_ANALYZER_AI_GEMINI_FLASH_LATEST","CORRECTNESS_ANALYZER_AI_GEMINI_FLASH_LITE_LATEST"],"type":"string"},"v1CountResponse":{"description":"Response to a list count request.","properties":{"count":{"description":"Number of objects matching the given list parameters.","format":"int32","type":"integer"}},"type":"object"},"v1Critical":{"properties":{"identity":{"$ref":"#/components/schemas/CriticalIdentity"},"image":{"$ref":"#/components/schemas/CriticalImage"},"type":{"description":"Type must be 'atomic container signature'.","type":"string"}},"type":"object"},"v1CustomTemplate":{"description":"CustomTemplate is the type specific custom template.","properties":{"email_template":{"$ref":"#/components/schemas/v1EmailTemplate"},"prcomments_template":{"$ref":"#/components/schemas/v1PRCommentsTemplate"},"slack_template":{"$ref":"#/components/schemas/v1SlackTemplate"},"template_type":{"$ref":"#/components/schemas/v1CustomTemplateType"},"webhook_template":{"$ref":"#/components/schemas/v1WebhookTemplate"}},"required":["template_type"],"type":"object"},"v1CustomTemplateType":{"default":"CUSTOM_TEMPLATE_TYPE_UNSPECIFIED","enum":["CUSTOM_TEMPLATE_TYPE_UNSPECIFIED","CUSTOM_TEMPLATE_TYPE_PR_COMMENTS","CUSTOM_TEMPLATE_TYPE_EMAIL","CUSTOM_TEMPLATE_TYPE_SLACK","CUSTOM_TEMPLATE_TYPE_WEBHOOK"],"type":"string"},"v1CvssDataV2":{"properties":{"access_complexity":{"$ref":"#/components/schemas/CvssDataV2AccessComplexity"},"access_vector":{"$ref":"#/components/schemas/v1NVDAttackVector"},"authentication":{"$ref":"#/components/schemas/CvssDataV2Auth"},"availability_impact":{"$ref":"#/components/schemas/CvssDataV2V2Impact"},"availability_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"base_score":{"format":"float","type":"number"},"collateral_damage_potential":{"$ref":"#/components/schemas/CvssDataV2CollateralDamagePotential"},"confidentiality_impact":{"$ref":"#/components/schemas/CvssDataV2V2Impact"},"confidentiality_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"environmental_score":{"format":"float","type":"number"},"exploitability":{"$ref":"#/components/schemas/CvssDataV2Exploitability"},"integrity_impact":{"$ref":"#/components/schemas/CvssDataV2V2Impact"},"integrity_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"remediation_level":{"$ref":"#/components/schemas/v1NVDRemediationLevel"},"report_confidence":{"$ref":"#/components/schemas/CvssDataV2ReportConfidence"},"target_distribution":{"$ref":"#/components/schemas/CvssDataV2TargetDistribution"},"temporal_score":{"format":"float","type":"number"},"vector_string":{"type":"string"},"version":{"type":"string"}},"required":["version","vector_string","base_score"],"type":"object"},"v1CvssDataV30":{"properties":{"attack_complexity":{"$ref":"#/components/schemas/v1NVDAttackComplexity"},"attack_vector":{"$ref":"#/components/schemas/v1NVDAttackVector"},"availability_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"availability_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"base_score":{"format":"float","type":"number"},"base_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"confidentiality_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"confidentiality_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"environmental_score":{"format":"float","type":"number"},"environmental_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"exploit_code_maturity":{"$ref":"#/components/schemas/v1NVDExploitCodeMaturity"},"integrity_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"integrity_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"modified_attack_complexity":{"$ref":"#/components/schemas/v1NVDModifiedAttackComplexity"},"modified_attack_vector":{"$ref":"#/components/schemas/v1NVDModifiedAttackVector"},"modified_availability_impact":{"$ref":"#/components/schemas/v1NVDModifiedImpact"},"modified_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDModifiedImpact"},"modified_integrity_impact":{"$ref":"#/components/schemas/v1NVDModifiedImpact"},"modified_privileges_required":{"$ref":"#/components/schemas/v1NVDModifiedPrivilegesRequired"},"modified_scope":{"$ref":"#/components/schemas/v1NVDModifiedScope"},"modified_user_interaction":{"$ref":"#/components/schemas/v1NVDModifiedUserInteraction"},"privileges_required":{"$ref":"#/components/schemas/v1NVDPrivilegesRequired"},"remediation_level":{"$ref":"#/components/schemas/v1NVDRemediationLevel"},"report_confidence":{"$ref":"#/components/schemas/v1NVDReportConfidence"},"scope":{"$ref":"#/components/schemas/v1NVDScope"},"temporal_score":{"format":"float","type":"number"},"temporal_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"user_interaction":{"$ref":"#/components/schemas/v1NVDUserInteraction"},"vector_string":{"type":"string"},"version":{"type":"string"}},"required":["version","vector_string","base_score","base_severity"],"type":"object"},"v1CvssDataV31":{"properties":{"attack_complexity":{"$ref":"#/components/schemas/v1NVDAttackComplexity"},"attack_vector":{"$ref":"#/components/schemas/v1NVDAttackVector"},"availability_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"availability_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"base_score":{"format":"float","type":"number"},"base_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"confidentiality_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"confidentiality_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"environmental_score":{"format":"float","type":"number"},"environmental_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"exploit_code_maturity":{"$ref":"#/components/schemas/v1NVDExploitCodeMaturity"},"integrity_impact":{"$ref":"#/components/schemas/v1NVDImpact"},"integrity_requirement":{"$ref":"#/components/schemas/v1NVDRequirement"},"modified_attack_complexity":{"$ref":"#/components/schemas/v1NVDModifiedAttackComplexity"},"modified_attack_vector":{"$ref":"#/components/schemas/v1NVDModifiedAttackVector"},"modified_availability_impact":{"$ref":"#/components/schemas/v1NVDModifiedImpact"},"modified_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDModifiedScope"},"modified_integrity_impact":{"$ref":"#/components/schemas/v1NVDModifiedImpact"},"modified_privileges_required":{"$ref":"#/components/schemas/v1NVDModifiedPrivilegesRequired"},"modified_scope":{"$ref":"#/components/schemas/v1NVDModifiedScope"},"modified_user_interaction":{"$ref":"#/components/schemas/v1NVDModifiedUserInteraction"},"privileges_required":{"$ref":"#/components/schemas/v1NVDPrivilegesRequired"},"remediation_level":{"$ref":"#/components/schemas/v1NVDRemediationLevel"},"report_confidence":{"$ref":"#/components/schemas/v1NVDReportConfidence"},"scope":{"$ref":"#/components/schemas/v1NVDScope"},"temporal_score":{"format":"float","type":"number"},"temporal_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"user_interaction":{"$ref":"#/components/schemas/v1NVDUserInteraction"},"vector_string":{"type":"string"},"version":{"type":"string"}},"required":["version","vector_string","base_score","base_severity"],"type":"object"},"v1CvssDataV40":{"properties":{"attack_complexity":{"$ref":"#/components/schemas/v1NVDV40AttackComplexity"},"attack_requirements":{"$ref":"#/components/schemas/v1NVDV40AttackRequirements"},"attack_vector":{"$ref":"#/components/schemas/v1NVDV40AttackVector"},"automatable":{"$ref":"#/components/schemas/v1NVDV40Automatable"},"availability_requirement":{"$ref":"#/components/schemas/v1NVDV40Requirement"},"base_score":{"format":"float","type":"number"},"base_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"confidentiality_requirement":{"$ref":"#/components/schemas/v1NVDV40Requirement"},"environmental_score":{"format":"float","type":"number"},"environmental_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"exploit_maturity":{"$ref":"#/components/schemas/v1NVDV40ExploitMaturity"},"integrity_requirement":{"$ref":"#/components/schemas/v1NVDV40Requirement"},"modified_attack_complexity":{"$ref":"#/components/schemas/v1NVDV40ModifiedAttackComplexity"},"modified_attack_requirements":{"$ref":"#/components/schemas/v1NVDV40ModifiedAttackRequirements"},"modified_attack_vector":{"$ref":"#/components/schemas/v1NVDV40ModifiedAttackVector"},"modified_privileges_required":{"$ref":"#/components/schemas/v1NVDV40ModifiedPrivilegesRequired"},"modified_sub_availability_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedSubImpact"},"modified_sub_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedSubImpact"},"modified_sub_integrity_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedSubImpact"},"modified_user_interaction":{"$ref":"#/components/schemas/v1NVDV40ModifiedUserInteraction"},"modified_vuln_availability_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedImpact"},"modified_vuln_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedImpact"},"modified_vuln_integrity_impact":{"$ref":"#/components/schemas/v1NVDV40ModifiedImpact"},"privileges_required":{"$ref":"#/components/schemas/v1NVDV40PrivilegesRequired"},"provider_urgency":{"$ref":"#/components/schemas/v1NVDV40ProviderUrgency"},"recovery":{"$ref":"#/components/schemas/v1NVDV40Recovery"},"safety":{"$ref":"#/components/schemas/v1NVDV40Safety"},"sub_availability_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"sub_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"sub_integrity_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"threat_score":{"format":"float","type":"number"},"threat_severity":{"$ref":"#/components/schemas/v1NVDSeverity"},"user_interaction":{"$ref":"#/components/schemas/v1NVDV40UserInteraction"},"value_density":{"$ref":"#/components/schemas/v1NVDV40ValueDensity"},"vector_string":{"type":"string"},"version":{"type":"string"},"vuln_availability_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"vuln_confidentiality_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"vuln_integrity_impact":{"$ref":"#/components/schemas/v1NVDV40Impact"},"vulnerability_response_effort":{"$ref":"#/components/schemas/v1NVDV40VulnerabilityResponseEffort"}},"required":["version","vector_string","base_score","base_severity"],"type":"object"},"v1CycloneDxSpecVersion":{"default":"CYCLONE_DX_SPEC_VERSION_UNSPECIFIED","description":"CycloneDx specification versions Endor emits. Values are added as Endor adds\nsupport, so this list is the supported set.\n\n - CYCLONE_DX_SPEC_VERSION_UNSPECIFIED: Unset. The export uses CycloneDx 1.5.\n - CYCLONE_DX_SPEC_VERSION_1_5: CycloneDx 1.5. The default when no version is requested.\n - CYCLONE_DX_SPEC_VERSION_1_6: CycloneDx 1.6.\n - CYCLONE_DX_SPEC_VERSION_1_7: CycloneDx 1.7.","enum":["CYCLONE_DX_SPEC_VERSION_UNSPECIFIED","CYCLONE_DX_SPEC_VERSION_1_5","CYCLONE_DX_SPEC_VERSION_1_6","CYCLONE_DX_SPEC_VERSION_1_7"],"type":"string"},"v1DashboardConfig":{"description":"DashboardConfig represents the dashboard configuration for a namespace.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1DashboardConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the dashboard configuration object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1DashboardConfigSpec":{"properties":{"dev_estimate":{"$ref":"#/components/schemas/DashboardConfigDevEstimateConfig"},"security_review_estimate":{"$ref":"#/components/schemas/DashboardConfigReviewTimeConfig"},"shift_left_estimate":{"$ref":"#/components/schemas/DashboardConfigShiftLeftEstimateConfig"},"sla_days":{"$ref":"#/components/schemas/DashboardConfigSLAConfig"},"vuln_prioritization":{"$ref":"#/components/schemas/DashboardConfigVulnPrioritizationConfig"}},"type":"object"},"v1DashboardSummaryQuery":{"description":"DashboardSummaryQuery is an internal API to accelerate the UI operations.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DashboardSummaryQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the dashboard summary.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1DashboardSummaryQuerySpec":{"properties":{"request":{"$ref":"#/components/schemas/v1DashboardSummaryQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1DashboardSummaryQuerySpecResponse"}},"type":"object"},"v1DashboardSummaryQuerySpecRequest":{"properties":{"count_dependencies_filter":{"description":"Filter for counting dependencies.\nDefaults to dependencies in the MAIN context.","type":"string"},"finding_severities":{"description":"Severities to include in the summary.","items":{"$ref":"#/components/schemas/RequestFindingSeverity"},"type":"array"},"list_projects_filter":{"description":"Filter to select projects.","type":"string"},"traverse":{"description":"Whether to traverse child namespaces.","type":"boolean"}},"type":"object"},"v1DashboardSummaryQuerySpecResponse":{"properties":{"dependency_counts":{"$ref":"#/components/schemas/SpecResponseDependencyCounts"},"finding_count_entries":{"description":"Namespace roll-up of the per-project finding_count_entries, summed per group and stage.\nEntries arrive in the registry's group and stage order. Only projects whose summaries\ncarry finding_count_entries contribute, so until every project has been rescanned this\nroll-up can cover fewer projects than vulnerability_counts in the same response.","items":{"$ref":"#/components/schemas/v1FindingCountEntry"},"readOnly":true,"type":"array"},"top_dependencies":{"$ref":"#/components/schemas/SpecResponseTopDependencies"},"top_packages":{"$ref":"#/components/schemas/SpecResponseTopPackages"},"top_projects":{"$ref":"#/components/schemas/ResponseTopProjects"},"total_notifications":{"description":"Total number of notifications.","format":"int32","readOnly":true,"type":"integer"},"total_packages":{"description":"Total number of packages.","format":"int32","readOnly":true,"type":"integer"},"total_projects":{"description":"Total number of projects.","format":"int32","readOnly":true,"type":"integer"},"total_scans":{"description":"Total number of scans.","format":"int32","readOnly":true,"type":"integer"},"vulnerability_counts":{"$ref":"#/components/schemas/SpecResponseVulnerabilityCounts"}},"type":"object"},"v1DeleteParameters":{"description":"Parameters for the delete request.","properties":{"action":{"description":"Action to be executed with delete request.","type":"string"},"force":{"description":"Force will force the deletion of the resource if any\nchecks fail.","type":"boolean"}},"type":"object"},"v1Demo":{"description":"Demo provides a mechanism for isolating groups of resources.\nDemos may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DemoSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for a namespace resource.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1DemoSpec":{"properties":{"code_url":{"description":"The link to the corresponding tag in Github.","readOnly":true,"type":"string"},"demo_projects":{"description":"The list of available projects that a user can select.","items":{"type":"string"},"readOnly":true,"type":"array"},"initiate_scan":{"description":"Initiates the scan with an update operation.","type":"boolean"},"job_status":{"description":"Returns the GitHub Job status.","readOnly":true,"type":"object"},"requested_project":{"description":"The project that must be scanned.","type":"string"},"workflow_id":{"description":"The GitHub ID of the workflow.","readOnly":true,"type":"string"},"workflow_logs":{"description":"Returns the workflow logs.","readOnly":true,"type":"string"},"workflow_url":{"description":"The link to the GitHub actions workflow.\nOnly the latest run is included.","readOnly":true,"type":"string"}},"required":["requested_project"],"type":"object"},"v1DependencyMetadata":{"description":"Information about the relationship between a root package version (importer)\nand one of its dependencies.\nDependencyMetadata objects are children of the root PackageVersion object and\nbelong to the same project and namespace as the root PackageVersion object.\nThey are connected to the importer project through\nspec.importer_data.project_uuid, and to the dependency project through\nspec.dependency_data.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DependencyMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1DependencyMetadataPath":{"description":"List of nodes in a dependency path.","properties":{"nodes":{"description":"List of nodes in a dependency path.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1DependencyMetadataSpec":{"description":"DependencyMetadata specific data.","properties":{"dependency_data":{"$ref":"#/components/schemas/DependencyMetadataDependencyData"},"importer_data":{"$ref":"#/components/schemas/DependencyMetadataImporterData"}},"type":"object"},"v1DependencyScope":{"default":"DEPENDENCY_SCOPE_UNSPECIFIED","description":" - DEPENDENCY_SCOPE_UNSPECIFIED: Dependency scope is undefined.\n - DEPENDENCY_SCOPE_TEST: Dependency is only used for testing.\n - DEPENDENCY_SCOPE_BUILD: Dependency is only used for building the package.\n - DEPENDENCY_SCOPE_NORMAL: Dependency is used in normal, non-test, code.","enum":["DEPENDENCY_SCOPE_UNSPECIFIED","DEPENDENCY_SCOPE_TEST","DEPENDENCY_SCOPE_BUILD","DEPENDENCY_SCOPE_NORMAL"],"type":"string"},"v1DependencySpec":{"description":"Captures the details of a single dependency.","properties":{"dependency_name":{"description":"The name of the dependency package.","type":"string"},"dependency_version":{"description":"The dependency version.","type":"string"},"reachable":{"$ref":"#/components/schemas/DependencyMetadataReachabilityType"},"unpinned":{"description":"Set to true if the dependency is not pinned.","type":"boolean"},"utilization":{"description":"The fraction of the dependency that is used by this package.","format":"float","type":"number"}},"type":"object"},"v1DependencyStats":{"description":"Includes all dependency related data.","properties":{"dependency_specs":{"description":"A list of all the related dependencies\nfor this package or package version.","items":{"$ref":"#/components/schemas/v1DependencySpec"},"type":"array"},"direct_dependencies":{"description":"The total number of direct dependencies.","format":"int32","type":"integer"},"indirect_dependencies":{"description":"The total number of indirect dependencies.","format":"int32","type":"integer"},"unpinned_dependencies":{"description":"The number of unpinned dependencies.","format":"int32","type":"integer"},"unpinned_direct_dependencies":{"description":"The number of unpinned dependencies.","format":"int32","type":"integer"},"unused_dependencies":{"description":"The number of unused dependencies.","format":"int32","type":"integer"},"unused_direct_dependencies":{"description":"The number of unused dependencies.","format":"int32","type":"integer"}},"type":"object"},"v1DepsDevPackage":{"description":"DepsDevPackage stores package metadata from deps.dev snapshots.\nThis data includes package popularity (dependents count) and age information\nused for typosquatting detection and package analysis.\n\nMongoDB Atlas Search Index Configuration:\nTo enable fuzzy typosquatting detection, create an Atlas Search index on this collection with:\n  - Field: meta.name\n    Type: string\n    Analyzer: lucene.keyword (treats full package identifier as single token)\n  - Field: spec.ecosystem\n    Type: token\n    Normalizer: lowercase\n  - Field: tenant_meta.namespace\n    Type: token\n    Normalizer: lowercase","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DepsDevPackageSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1DepsDevPackageSpec":{"properties":{"age_weeks":{"description":"Age of the package in weeks since its first release.\nUsed to filter out old packages in typosquatting detection.","format":"int32","type":"integer"},"dependents_count":{"description":"Number of packages that depend on this package.\nUsed to determine package popularity for typosquatting detection.","format":"int32","type":"integer"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"snapshot_time":{"description":"The timestamp of the deps.dev snapshot this data was extracted from.","format":"date-time","type":"string"}},"required":["ecosystem"],"type":"object"},"v1DetectLicenseQuery":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DetectLicenseQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"title":"DetectLicenseQuery","type":"object"},"v1DetectLicenseQuerySpec":{"properties":{"error_text":{"readOnly":true,"type":"string"},"hash":{"readOnly":true,"type":"string"},"license_text":{"type":"string"},"spdx_expr":{"readOnly":true,"type":"string"},"spdx_ids":{"items":{"type":"string"},"readOnly":true,"type":"array"}},"required":["license_text"],"type":"object"},"v1Digest":{"description":"Digest is a digest of a file/container image.","properties":{"algorithm":{"$ref":"#/components/schemas/v1DigestType"},"value":{"description":"Digest value of the file.","type":"string"}},"required":["algorithm","value"],"type":"object"},"v1DigestType":{"default":"DIGEST_TYPE_UNSPECIFIED","enum":["DIGEST_TYPE_UNSPECIFIED","DIGEST_TYPE_SHA1","DIGEST_TYPE_SHA256","DIGEST_TYPE_SHA512","DIGEST_TYPE_MD5"],"type":"string"},"v1DimensionKey":{"default":"DIMENSION_KEY_UNSPECIFIED","description":"DimensionKey identifies the aggregation dimension.\n\n - DIMENSION_KEY_SKILL: Skills discovered in agent sessions. Written in daily buckets only.\n - DIMENSION_KEY_AI_TOOL: AI tools detected on developer workstations. Written in daily buckets only.","enum":["DIMENSION_KEY_UNSPECIFIED","DIMENSION_KEY_SUMMARY","DIMENSION_KEY_AGENT","DIMENSION_KEY_MODEL","DIMENSION_KEY_MCP_SERVER","DIMENSION_KEY_COMMAND","DIMENSION_KEY_CATEGORY","DIMENSION_KEY_TOOL","DIMENSION_KEY_SKILL","DIMENSION_KEY_AI_TOOL"],"type":"string"},"v1DiscoveredSkill":{"description":"DiscoveredSkill represents a skill found during session-start scanning.","properties":{"allowed_tools":{"description":"Tools declared in SKILL.md frontmatter (allowed-tools).","items":{"type":"string"},"type":"array"},"compatibility":{"description":"Environment requirements from SKILL.md frontmatter (agentskills.io standard field).","type":"string"},"content":{"description":"Base64-encoded SKILL.md content for backend scoring. Capped at 128 KB.","type":"string"},"content_hash":{"description":"SHA-256 hash of the SKILL.md content.","type":"string"},"description":{"description":"Human-readable description from SKILL.md frontmatter.","type":"string"},"file_count":{"description":"Number of files in the skill directory (including SKILL.md).","format":"int32","type":"integer"},"license":{"description":"License from SKILL.md frontmatter (agentskills.io standard field).","type":"string"},"name":{"description":"Skill name from SKILL.md frontmatter or directory name fallback.","type":"string"},"path":{"description":"Path to the SKILL.md file within the workspace or user home directory.","type":"string"}},"type":"object"},"v1Discussion":{"properties":{"count":{"description":"Total count of discussion posts/pull requests.","format":"int32","type":"integer"},"num_closed":{"description":"Count of closed discussion posts/pull requests.","format":"int32","type":"integer"}},"type":"object"},"v1DismissParams":{"description":"Metadata associated with a snooze or ignore request.","properties":{"comments":{"description":"Comments for the snooze or ignore.","type":"string"},"entry_id":{"description":"The ignore file entry id.","type":"string"},"expiration_time":{"description":"Expiration time of the snooze or ignore.","format":"date-time","type":"string"},"expire_if_fix_available":{"description":"Set to true if the snooze or ignore should expire if a fix is available.","type":"boolean"},"file_name":{"description":"Name of the file that was used to ignore the finding.","type":"string"},"reason":{"$ref":"#/components/schemas/v1ExceptionReason"},"source":{"$ref":"#/components/schemas/v1DismissSource"},"update_time":{"description":"Timestamp of the last update.","format":"date-time","type":"string"},"updated_by":{"description":"Username of the user who last updated the snooze or ignore.","type":"string"}},"type":"object"},"v1DismissSource":{"default":"DISMISS_SOURCE_UNSPECIFIED","description":"Which tool created a snooze or ignore, for tooling that maintains its own\ndismissals over time and must never clear one it did not create.\n\n - DISMISS_SOURCE_UNSPECIFIED: Created by a person, or by tooling that does not maintain what it writes.\n - DISMISS_SOURCE_CONTAINER_DIFF: Created by `endorctl container diff --snooze-baseline-findings`, or by the\nequivalent step of `endorctl container scan --diff`. Those commands clear\nthe dismissals carrying this source once the finding is no longer common\nwith the baseline, so no other writer may set it.","enum":["DISMISS_SOURCE_UNSPECIFIED","DISMISS_SOURCE_CONTAINER_DIFF"],"type":"string"},"v1DistinctEntry":{"description":"DistinctEntry tracks uniqueness for distinct-count metrics (users, repositories).\nOne document per (namespace, scope, bucket, distinct_key, distinct_value).\nUnique compound index enforces at-most-once counting.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1DistinctEntrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the distinct record.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1DistinctEntrySpec":{"properties":{"bucket":{"description":"Time bucket for the distinct scope. Null for all-time.\nTruncated timestamp for time-bucketed aggregates (hourly, daily, weekly).","format":"date-time","type":"string"},"bucket_granularity":{"description":"Granularity of the time bucket this entry backs, as the BucketGranularity\nenum name (e.g. \"BUCKET_GRANULARITY_DAILY\"). Set only for bucketed markers\nso hourly and daily stay disjoint at midnight where both buckets are\n00:00:00. A StringValue (not the bare enum) so all-time inventory markers\nleave it nil: a nil wrapper serializes to null (matching pre-field docs),\nkeeping their unique key stable, whereas an unset enum serializes to\n\"...UNSPECIFIED\" under EmitUnpopulated and would split the key.","type":"string"},"distinct_key":{"description":"Which distinct-count metric this entry tracks (e.g. \"user\", \"repository\").","type":"string"},"distinct_value":{"description":"The observed value being deduplicated (e.g. \"john@acme.com\", \"my-org/my-repo\").","type":"string"},"scope":{"description":"Scope identifies the counter document this entry deduplicates against.\nFormat: \"\u003cenum name\u003e:\u003centity name\u003e\", where the enum is a DimensionKey\nfor aggregate scopes or an InventoryType for inventory scopes\n(e.g. \"DIMENSION_KEY_MCP_SERVER:github\", \"INVENTORY_TYPE_SKILL:my-skill\").","type":"string"}},"required":["scope","distinct_key","distinct_value"],"type":"object"},"v1DistributionFormatType":{"default":"DISTRIBUTION_FORMAT_TYPE_UNSPECIFIED","description":"Distribution format type.\n\n - DISTRIBUTION_FORMAT_TYPE_PYTHON_SOURCE: Python source was used to build this package.\n - DISTRIBUTION_FORMAT_TYPE_PYTHON_EGG: Egg-info based distribution format for python.\n - DISTRIBUTION_FORMAT_TYPE_PYTHON_WHEEL: Dist-info based distribution format for python.","enum":["DISTRIBUTION_FORMAT_TYPE_UNSPECIFIED","DISTRIBUTION_FORMAT_TYPE_PYTHON_SOURCE","DISTRIBUTION_FORMAT_TYPE_PYTHON_EGG","DISTRIBUTION_FORMAT_TYPE_PYTHON_WHEEL"],"type":"string"},"v1DotNetToolChain":{"properties":{"additional_dotnet_versions":{"items":{"type":"string"},"type":"array"},"dotnet_installer_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1DownloadInfo":{"description":"DownloadInfo represents information about a single downloaded artifact.","properties":{"digest":{"description":"SHA-256 digest of the downloaded content.","type":"string"},"filename":{"description":"Optional filename.","type":"string"},"from_url":{"description":"The URL from which the artifact was downloaded.","type":"string"},"metadata":{"description":"Optional metadata.","type":"object"},"mime_type":{"description":"Optional MIME type.","type":"string"},"to_path":{"description":"The local path where the artifact was saved.","type":"string"},"version":{"description":"Optional version string.","type":"string"}},"type":"object"},"v1EMailConfig":{"properties":{"receivers_addresses":{"items":{"type":"string"},"type":"array"}},"required":["receivers_addresses"],"type":"object"},"v1Ecosystem":{"default":"ECOSYSTEM_UNSPECIFIED","description":" - ECOSYSTEM_GO: GoLang.\n - ECOSYSTEM_MAVEN: Maven.\n - ECOSYSTEM_PYPI: Python.\n - ECOSYSTEM_CARGO: Rust.\n - ECOSYSTEM_NPM: Javascript.\n - ECOSYSTEM_GEM: Ruby.\n - ECOSYSTEM_NUGET: Dotnet.\n - ECOSYSTEM_PACKAGIST: PHP.\n - ECOSYSTEM_SBOM: SBOMs.\n - ECOSYSTEM_RPM: RPM.\n - ECOSYSTEM_DEBIAN: Debian.\n - ECOSYSTEM_GITHUB_ACTION: GitHub Actions.\n - ECOSYSTEM_COCOAPOD: Cocoapods.\n - ECOSYSTEM_APK: APK (alpine et.al).\n - ECOSYSTEM_CONTAINER: Containers.\n - ECOSYSTEM_HUGGING_FACE: Hugging Face.\n - ECOSYSTEM_C: C/C++.\n - ECOSYSTEM_GIT: ecosystem GIT for GIT repository dependencies.\nThis can be used for package name of the resolved dependencies when a\ngiven repository has dependencies to other GIT repositories. Currently we\nuse this to represent vulnerabilities for the given GIT repository. ex:\ngit submodules, C/C++ dependencies.\n - ECOSYSTEM_AI_MODEL: AI models.\n - ECOSYSTEM_SWIFT: Ecosystem Swift consists of native Swift packages, which are defined\nusing the Package.swift manifest file and managed by the Swift Package\nManager. There is a separate ecosystem for Cocoapod packages called\nECOSYSTEM_COCOAPOD, which is an alternative package manager for Swift\npackages.\n - ECOSYSTEM_CONAN: Ecosystem Conan for C/C++ packages managed by the Conan 2.x package manager.\n - ECOSYSTEM_VSCODE: VS Code editor extensions, distributed via the Microsoft Visual Studio\nMarketplace.","enum":["ECOSYSTEM_UNSPECIFIED","ECOSYSTEM_GO","ECOSYSTEM_MAVEN","ECOSYSTEM_PYPI","ECOSYSTEM_CARGO","ECOSYSTEM_NPM","ECOSYSTEM_GEM","ECOSYSTEM_NUGET","ECOSYSTEM_PACKAGIST","ECOSYSTEM_SBOM","ECOSYSTEM_RPM","ECOSYSTEM_DEBIAN","ECOSYSTEM_GITHUB_ACTION","ECOSYSTEM_COCOAPOD","ECOSYSTEM_APK","ECOSYSTEM_CONTAINER","ECOSYSTEM_HUGGING_FACE","ECOSYSTEM_C","ECOSYSTEM_GIT","ECOSYSTEM_AI_MODEL","ECOSYSTEM_SWIFT","ECOSYSTEM_CONAN","ECOSYSTEM_VSCODE"],"type":"string"},"v1EmailTemplate":{"properties":{"open_action_template":{"description":"The template to be used for OPEN action for email plugin.","type":"string"},"resolve_action_template":{"description":"The template to be used for RESOLVE action for email plugin.","type":"string"},"update_action_template":{"description":"The template to be used for UPDATE action for email plugin.","type":"string"}},"type":"object"},"v1EmbeddingModel":{"default":"EMBEDDING_MODEL_UNSPECIFIED","description":"EmbeddingModel is the model of the embedding provider.","enum":["EMBEDDING_MODEL_UNSPECIFIED","EMBEDDING_MODEL_OPENAI_TEXT_EMBEDDING_ADA_002","EMBEDDING_MODEL_OPENAI_TEXT_EMBEDDING_3_SMALL","EMBEDDING_MODEL_GOOGLE_TEXT_EMBEDDING_LARGE","EMBEDDING_MODEL_OPENAI_TEXT_EMBEDDING_3_LARGE"],"type":"string"},"v1EmbeddingProvider":{"default":"EMBEDDING_PROVIDER_UNSPECIFIED","description":"EmbeddingProvider is the provider of the embeddings.","enum":["EMBEDDING_PROVIDER_UNSPECIFIED","EMBEDDING_PROVIDER_OPENAI","EMBEDDING_PROVIDER_GOOGLE"],"type":"string"},"v1EmbeddingVector":{"description":"Embedding vector for one code segment.","properties":{"vector":{"items":{"format":"float","type":"number"},"type":"array"}},"type":"object"},"v1EndorAgent":{"description":"EndorAgent is one agent in the signed catalog published by the\nendor-labs-agent-kit release pipeline. Apiserver fetches the catalog,\nverifies its signature, caches it in memory, and serves it read-only via\nAgentCatalogService; the monorepo stores no agent code or metadata. There is\nno stored row, so uuid is derived deterministically from the agent id and is\nstable across refreshes.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorAgentSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"Opaque identifier, derived from the agent id (meta.name); stable across\nrefreshes.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1EndorAgentSpec":{"description":"Spec holds the agent's catalog details.","properties":{"authors":{"description":"Author display names only; no PII.","items":{"type":"string"},"type":"array"},"category":{"description":"Grouping label from the agent manifest, e.g. \"Remediation\" or \"Research \u0026 Investigate\".","type":"string"},"description":{"description":"Long-form markdown description.","type":"string"},"display_name":{"description":"Human-readable name.","type":"string"},"endorctl_min_version":{"description":"Minimum endorctl version required to install or run the agent.","type":"string"},"install":{"description":"Per-host install recipes.","items":{"$ref":"#/components/schemas/SpecInstall"},"type":"array"},"short_description":{"description":"One-line summary.","type":"string"},"version":{"description":"Agent semver, sourced from its manifest.","type":"string"}},"required":["display_name","short_description","endorctl_min_version","version","install"],"type":"object"},"v1EndorIgnoreEntry":{"description":"Represents a single entry in the ignore file.\n\nEndorIgnoreEntry objects are created by the endorctl client after\nreading and processing the ignore file during the git scan,\nand then applied to the findings during the analytics scan.\n\nThe ignore file is either a raw list of vulnerability ids\n(one per line), or a YAML file that contains a list of ignore entries,\neach identifying one or more findings in a repository version.\nThe file is formatted manually or via the endorctl ignore command.\n\nEach entry must specify at least the finding name or the vulnerability ID.\nThe more fields you provide, the more specific the ignore entry is.\nI.e. if you only provide the finding name and there are multiple\nfindings with the same name in the same repository version,\nthe ignore entry is applied to all of them.\nUse the endorctl ignore --finding-uuid option to automatically populate\nall fields of the ignore entry based on a given finding.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorIgnoreEntrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1EndorIgnoreEntrySpec":{"properties":{"dependency_name":{"description":"Name of the dependency of the finding that is being ignored.\nFor example, \"org.apache.logging.log4j:log4j-core@2.3\".\nPartial matches are accepted.\n\nThis corresponds to the spec.target_dependency_package_name field\nof the finding object for PackageVersion findings.","type":"string"},"extra_key":{"description":"Extra key for the finding that is being ignored.\nFor example, the finding policy UUID.\nExact matches only.\n\nThe extra key is used internally to uniquely identify findings\n(along with other fields such as the parent, target, and type)\nand is stored in the spec.extra_key field of the finding object.","type":"string"},"finding_name":{"description":"Name of the finding that is being ignored.\nFor example, \"Potential secret leak Generic API Key: ID #3b0fbc\".\nExact matches only.\n\nPlease note that finding names are stored in the meta.description\nfield of the finding object rather than in meta.name.\nYes, this is confusing, but there are historical reasons for this.","type":"string"},"ignore_params":{"$ref":"#/components/schemas/v1DismissParams"},"parent_name":{"description":"Name of the parent of the finding that is being ignored.\nFor example, \"com.endor.webapp:endor-java-webapp-demo@4.0-SNAPSHOT\".\nPartial matches are accepted.\n\nThis corresponds to the meta.name field of the parent object\npointed to by the meta.parent_uuid field of the finding object.","type":"string"},"project_uuid":{"description":"Project UUID.","type":"string"},"vuln_id":{"description":"Vulnerability ID of the finding that is being ignored.\nFor example, \"CVE-2025-12345\" or \"GHSA-7rjr-3q55-vv33\".\nExact matches only.","type":"string"}},"required":["ignore_params"],"type":"object"},"v1EndorLicense":{"description":"EndorLicense represents a specific Endor license assigned to a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1EndorLicenseSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an Endor Labs license.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1EndorLicenseSpec":{"properties":{"bundle_info":{"description":"A repeated field containing information about Endor Labs license bundles.","items":{"$ref":"#/components/schemas/SpecEndorLicenseBundleInfo"},"type":"array"},"credits_period_start":{"description":"Anchor timestamp for the scan credit counting window. Set on contract\nrenewal. Any unused credits will be refreshed and NOT carry forwarded once the new period starts.","format":"date-time","type":"string"},"excluded_feature_types":{"description":"Indicates excluded features.","items":{"$ref":"#/components/schemas/SpecEndorLicenseFeatureType"},"type":"array"},"is_customer":{"description":"Indicates whether the license belongs to a customer.","type":"boolean"},"license_configurations":{"$ref":"#/components/schemas/SpecLicenseConfiguration"},"license_info":{"description":"An array that stores the types of valid feature licenses and their\nlimits. Protobuf does not allow enums to be the key of maps. Ensure that\nany code accessing this array checks for an existing type before writing.","items":{"$ref":"#/components/schemas/SpecEndorLicenseInfo"},"readOnly":true,"type":"array"},"quota":{"$ref":"#/components/schemas/SpecQuota"},"read_access_until":{"description":"Optional. Indicates the time upto to which users of this tenant have read\naccess.","format":"date-time","type":"string"},"salesforce_account_id":{"description":"Salesforce Account ID for CRM integration.\nLinks this license to a Salesforce account for revenue attribution and\ncustomer success reporting.\n\nFormat: Salesforce IDs are either 15 or 18 characters:\n- 15 chars: case-sensitive alphanumeric (0-9, a-z, A-Z)\n- 18 chars: 15-char ID + 3-char case-safe checksum\nPattern validates format only, not checksum correctness.\nRef: https://stackoverflow.com/questions/9742913/validating-a-salesforce-id","type":"string"},"scan_credit_grants":{"description":"History of additional scan credit buckets outside the bundle entitlement granted to the tenant, in the\norder they were applied. Entries are appended via ServiceRequest by CS\nwhen customers buy additional credits beyond the bundle entitlement.","items":{"$ref":"#/components/schemas/SpecScanCreditGrant"},"type":"array"},"scan_credit_limit":{"description":"Scan credit limit available to the tenant for the current counting\nwindow. Computed by the backend as the derived base from seats and\nbundle tiers plus the sum of scan_credit_grants. Clients must not\nset this field; any value provided on write is discarded.","format":"int64","readOnly":true,"type":"string"},"target_namespace":{"description":"Target namespace of the Endor Labs license.","type":"string"},"type":{"$ref":"#/components/schemas/SpecEndorLicenseType"},"write_access_until":{"description":"The time upto to which users of this tenant have write access.","format":"date-time","type":"string"}},"required":["target_namespace"],"type":"object"},"v1EndorRuleOrigin":{"properties":{"license":{"type":"string"},"url":{"type":"string"}},"type":"object"},"v1EndorTarget":{"default":"ENDOR_TARGET_UNSPECIFIED","description":"EndorTarget determines the origin of the files that will be analyzed by a\nrule.","enum":["ENDOR_TARGET_UNSPECIFIED","ENDOR_TARGET_PACKAGE","ENDOR_TARGET_REPOSITORY"],"type":"string"},"v1EndorctlRC":{"default":"ENDORCTL_RC_UNSPECIFIED","description":"Endorctl return codes.\n\n - ENDORCTL_RC_SUCCESS: Success (translates to exit code 0).\n - ENDORCTL_RC_ERROR: Unspecified error.\n - ENDORCTL_RC_INVALID_ARGS: Invalid input.\n - ENDORCTL_RC_ENDOR_AUTH_FAILURE: Endor API authentication failure.\n - ENDORCTL_RC_DOCTOR_FAILURE: Endor host-check failure.\n - ENDORCTL_RC_GITHUB_AUTH_FAILURE: GitHub authentication failure.\n - ENDORCTL_RC_ANALYTICS_ERROR: Error running analytics.\n - ENDORCTL_RC_FINDINGS_ERROR: Error generating findings.\n - ENDORCTL_RC_NOTIFICATIONS_ERROR: Error generating notifications.\n - ENDORCTL_RC_GITHUB_API_ERROR: Error calling GitHub API.\n - ENDORCTL_RC_GITHUB_PERMISSIONS_ERROR: Insufficient GitHub token permissions.\n - ENDORCTL_RC_GIT_ERROR: Error while performing a Git operation.\n - ENDORCTL_RC_DEPENDENCY_RESOLUTION_ERROR: Error during dependency resolution.\n - ENDORCTL_RC_DEPENDENCY_SCANNING_ERROR: Error during dependency scanning.\n - ENDORCTL_RC_CALL_GRAPH_ERROR: Error while generating call graphs.\n - ENDORCTL_RC_LINTER_ERROR: Error while running the linter scanner.\n - ENDORCTL_RC_BAD_POLICY_TYPE: A user defined policy has a policy type reserved for system policies.\n - ENDORCTL_RC_POLICY_ERROR: Error evaluating one or more policies.\n - ENDORCTL_RC_INTERNAL_ERROR: Internal error while running endorctl.\n - ENDORCTL_RC_DEADLINE_EXCEEDED: Deadline exceeded while running endorctl.\n - ENDORCTL_RC_NOT_FOUND: Requested entity was not found.\n - ENDORCTL_RC_ALREADY_EXISTS: Attempt to create an entity failed because it already exists.\n - ENDORCTL_RC_UNAUTHENTICATED: Unable to authenticate request.\n - ENDORCTL_RC_VULN_ERROR: Error related to vulnerability ingestion and processing.\n - ENDORCTL_RC_INITIALIZATION_ERROR: Error related to initializing the repository.\n - ENDORCTL_RC_HOST_CHECK_FAILURE: Endor host-check failure.\n - ENDORCTL_RC_SBOM_IMPORT_ERROR: Error importing an sbom.\n - ENDORCTL_RC_PRE_COMMIT_CHECK_FAILURE: A pre-commit check failed.\n - ENDORCTL_RC_GH_ACTION_WORKFLOW_SCAN_FAILURE: GitHub action workflow scan failed.\n - ENDORCTL_RC_FILE_ANALYTICS_ERROR: Error while reading files for analytics processing.\n - ENDORCTL_RC_SIGNATURE_VERIFICATION_FAILURE: Signature verification failure.\n - ENDORCTL_RC_LICENSE_ERROR: The requested operation requires additional licensing.\n - ENDORCTL_RC_HUGGING_FACE_ERROR: Error while running the huggingface scanner.\n - ENDORCTL_RC_SAST_ERROR: Error while running the SAST scanner.\n - ENDORCTL_RC_ARTIFACT_OPERATION_FAILURE: Artifact operation failure.\n - ENDORCTL_RC_SEGMENTATION_ERROR: Error during file segmentation.\n - ENDORCTL_RC_TOOLCHAIN_ERROR: Error generating toolchains.\n - ENDORCTL_RC_SANDBOX_ERROR: Error running endorctl sandbox.\n - ENDORCTL_RC_RULE_SET_ERROR: Error performing rule set operations.\n - ENDORCTL_RC_SECURITY_REVIEW_ERROR: Error while running the PR security review.\n - ENDORCTL_RC_CODE_API_ERROR: Error while running codeAPI.\n - ENDORCTL_RC_BASELINE_NOT_FOUND: Baseline is invalid or has not been scanned yet.\n - ENDORCTL_RC_SCAN_CANCELLED: Scan was cancelled.\n - ENDORCTL_RC_CLONE_ERROR: Error while cloning a git repository.\n - ENDORCTL_RC_POLICY_VIOLATION: One or more, enforced, admission policy violations detected.\n - ENDORCTL_RC_POLICY_WARNING: One ore more, unenforced, admission policy violations detected.\n - ENDORCTL_RC_PR_SECURITY_REVIEW_ERROR: Deprecated: Use ENDORCTL_RC_SECURITY_REVIEW_ERROR instead.\n - ENDORCTL_RC_EXPORTER_WARNING: Warning while running the exporter. This does not prevent the main scan\nfrom completing.\n - ENDORCTL_RC_CONTAINER_PROFILING_WARNING: Warning while profiling a container image.\n - ENDORCTL_RC_DEPENDENCY_SETUP_WARNING: Warning during dependency environment setup (e.g. truststore creation).\nThe scan continues with a fallback configuration but may encounter issues.","enum":["ENDORCTL_RC_UNSPECIFIED","ENDORCTL_RC_SUCCESS","ENDORCTL_RC_ERROR","ENDORCTL_RC_INVALID_ARGS","ENDORCTL_RC_ENDOR_AUTH_FAILURE","ENDORCTL_RC_DOCTOR_FAILURE","ENDORCTL_RC_GITHUB_AUTH_FAILURE","ENDORCTL_RC_ANALYTICS_ERROR","ENDORCTL_RC_FINDINGS_ERROR","ENDORCTL_RC_NOTIFICATIONS_ERROR","ENDORCTL_RC_GITHUB_API_ERROR","ENDORCTL_RC_GITHUB_PERMISSIONS_ERROR","ENDORCTL_RC_GIT_ERROR","ENDORCTL_RC_DEPENDENCY_RESOLUTION_ERROR","ENDORCTL_RC_DEPENDENCY_SCANNING_ERROR","ENDORCTL_RC_CALL_GRAPH_ERROR","ENDORCTL_RC_LINTER_ERROR","ENDORCTL_RC_BAD_POLICY_TYPE","ENDORCTL_RC_POLICY_ERROR","ENDORCTL_RC_INTERNAL_ERROR","ENDORCTL_RC_DEADLINE_EXCEEDED","ENDORCTL_RC_NOT_FOUND","ENDORCTL_RC_ALREADY_EXISTS","ENDORCTL_RC_UNAUTHENTICATED","ENDORCTL_RC_VULN_ERROR","ENDORCTL_RC_INITIALIZATION_ERROR","ENDORCTL_RC_HOST_CHECK_FAILURE","ENDORCTL_RC_SBOM_IMPORT_ERROR","ENDORCTL_RC_PRE_COMMIT_CHECK_FAILURE","ENDORCTL_RC_GH_ACTION_WORKFLOW_SCAN_FAILURE","ENDORCTL_RC_FILE_ANALYTICS_ERROR","ENDORCTL_RC_SIGNATURE_VERIFICATION_FAILURE","ENDORCTL_RC_LICENSE_ERROR","ENDORCTL_RC_HUGGING_FACE_ERROR","ENDORCTL_RC_SAST_ERROR","ENDORCTL_RC_ARTIFACT_OPERATION_FAILURE","ENDORCTL_RC_SEGMENTATION_ERROR","ENDORCTL_RC_TOOLCHAIN_ERROR","ENDORCTL_RC_SANDBOX_ERROR","ENDORCTL_RC_RULE_SET_ERROR","ENDORCTL_RC_SECURITY_REVIEW_ERROR","ENDORCTL_RC_CODE_API_ERROR","ENDORCTL_RC_BASELINE_NOT_FOUND","ENDORCTL_RC_SCAN_CANCELLED","ENDORCTL_RC_CLONE_ERROR","ENDORCTL_RC_POLICY_VIOLATION","ENDORCTL_RC_POLICY_WARNING","ENDORCTL_RC_PR_SECURITY_REVIEW_ERROR","ENDORCTL_RC_EXPORTER_WARNING","ENDORCTL_RC_CONTAINER_PROFILING_WARNING","ENDORCTL_RC_DEPENDENCY_SETUP_WARNING"],"type":"string"},"v1ErrorParsingRule":{"description":"ErrorParsingRule is an internal API to manage error parsing rules\nand regular expressions.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Object can be propagated to child namespaces. Global objects are visible to\nall namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ErrorParsingRuleSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the for the error parsing rule.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ErrorParsingRuleSpec":{"properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"error_category":{"$ref":"#/components/schemas/SpecErrorCategory"},"fixable":{"description":"Fixable indicates if the error is fixable through configuration.","type":"boolean"},"fixable_notes":{"description":"Notes about the fixable status.","type":"string"},"priority":{"description":"Rule matching priority (lower is higher).","format":"int32","type":"integer"},"regex":{"description":"regular expression to match the error message.","type":"string"}},"required":["ecosystem","regex","error_category"],"type":"object"},"v1EvaluationMethod":{"description":"EvaluationMethod represents an evaluation method.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationMethodSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the evaluation method.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1EvaluationMethodSpec":{"properties":{"system_method":{"$ref":"#/components/schemas/v1SystemEvaluationMethodDefinition"},"target_kinds":{"description":"The list of resources (kind) to which this evaluation method applies.","items":{"type":"string"},"type":"array"},"type":{"$ref":"#/components/schemas/SpecEvaluationMethodType"}},"type":"object"},"v1EvaluationParameter":{"description":"EvaluationParameter represents an evaluation parameter.\nThe parameters are applied to the method before execution.\nThe parameters correspond to the method identified by the parent UUID.\n\nOrder of evaluation:\n\nFor system methods, parameters at the system namespace\nare used first. If a tenant namespace has parameters for the\nsame method, they overwrite the system level parameters.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1EvaluationParameterSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the evaluation parameter.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1EvaluationParameterSpec":{"properties":{"disable":{"description":"Disables an evaluation parameter.","type":"boolean"},"parameters":{"additionalProperties":{"$ref":"#/components/schemas/SpecParameter"},"description":"Parameters associated with the evaluation parameter.","type":"object"}},"type":"object"},"v1Events":{"properties":{"event":{"items":{"type":"string"},"title":"List of user events","type":"array"}},"type":"object"},"v1ExceptionReason":{"default":"EXCEPTION_REASON_UNSPECIFIED","description":"Reasons for dismissing a finding.\n\n - EXCEPTION_REASON_FALSE_POSITIVE: Tool is incorrect. This is not a real issue.\n - EXCEPTION_REASON_RISK_ACCEPTED: Risk acknowledged and accepted.\n - EXCEPTION_REASON_IN_TRIAGE: Issue is actively being triaged.\n - EXCEPTION_REASON_OTHER: Other reason. Use policy description or dismiss comments to elaborate.\n - EXCEPTION_REASON_RESOLVED: Issue has been resolved. For example, a secret is no longer valid.\n - EXCEPTION_REASON_PRESENT_IN_BASELINE: The finding is also present in the baseline scan this one was diffed\nagainst, so it is not newly introduced. Set only by container diff\ntooling, never by a human.","enum":["EXCEPTION_REASON_UNSPECIFIED","EXCEPTION_REASON_FALSE_POSITIVE","EXCEPTION_REASON_RISK_ACCEPTED","EXCEPTION_REASON_IN_TRIAGE","EXCEPTION_REASON_OTHER","EXCEPTION_REASON_RESOLVED","EXCEPTION_REASON_PRESENT_IN_BASELINE"],"type":"string"},"v1Exceptions":{"description":"Metadata added by the exception policy scanner.","properties":{"policy_uuids":{"description":"List of exception policies triggered by this finding.","items":{"type":"string"},"type":"array"},"tags":{"description":"List of tags set by exception policies.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1ExportParameters":{"description":"Parameters to export a SBOM/VEX.","properties":{"package_version_uuids":{"description":"List of package version UUIDs.","items":{"type":"object"},"type":"array"},"project_name":{"description":"Name of the project.","type":"string"},"project_uuid":{"description":"The UUID of the project.","type":"string"},"repository_version":{"description":"Repository version is used to select the package versions for the export.\nThis is an optional field, If not set then the default repository version\nwill be used.","type":"string"}},"type":"object"},"v1ExportedSBOM":{"description":"This is the request to the SBOM export API.\nIt consists of the request resource kind.\nThe UUID is the UUID of the resource.\nThe output is the format to export the SBOM.\nThe SBOM kind is the kind of the SBOM requested by the user. Currently we support only CycloneDx.\nThe meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.\nThe Meta parent_uuid corresponds to the parent UUID of the parent kind.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExportedSBOMSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the SBOM.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ExportedSBOMComponentType":{"default":"COMPONENT_TYPE_UNSPECIFIED","description":"The kind of component for which we are creating an SBOM.\nThis is a mandatory field.","enum":["COMPONENT_TYPE_UNSPECIFIED","COMPONENT_TYPE_LIBRARY","COMPONENT_TYPE_APPLICATION"],"type":"string"},"v1ExportedSBOMFormat":{"default":"FORMAT_UNSPECIFIED","description":"Specifies the output of SBOM. (For example, JSON and XML).\n\n - FORMAT_JSON: SBOM of JSON format output.\n - FORMAT_XML: SBOM of XML format output.\n - FORMAT_TAG_VALUE: SBOM of Tag Value format output.","enum":["FORMAT_UNSPECIFIED","FORMAT_JSON","FORMAT_XML","FORMAT_TAG_VALUE"],"type":"string"},"v1ExportedSBOMSpec":{"description":"The internal specification of the object.","properties":{"component_type":{"$ref":"#/components/schemas/v1ExportedSBOMComponentType"},"data":{"description":"The output of the SBOM, which is a string type.\nFor whichever format we generate the SBOM, the output will be a string only response.","readOnly":true,"type":"string"},"export_parameters":{"$ref":"#/components/schemas/v1ExportParameters"},"format":{"$ref":"#/components/schemas/v1ExportedSBOMFormat"},"hide_private_components":{"description":"Whether to hide internal packages or not.","type":"boolean"},"include_test_dependencies":{"description":"Whether to include test, dev, build, and optional dependencies in the SBOM export.\nWhen false (the default), non-production dependencies — and any transitive\ndependencies reachable only through them — are excluded.","type":"boolean"},"kind":{"$ref":"#/components/schemas/v1SBOMKind"}},"required":["component_type"],"type":"object"},"v1ExportedVEX":{"description":"The request to the VEX export API.\nIt consists of the request resource kind.\nThe UUID is the uuid of the resource.\nThe output is the format to export the VEX.\nThe VEX kind is the kind of the VEX requested by the user. Currently, we support only CycloneDx.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExportedVEXSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the VEX.","readOnly":true,"type":"string"}},"type":"object"},"v1ExportedVEXComponentType":{"default":"COMPONENT_TYPE_UNSPECIFIED","description":"The kind of component for which we are creating an SBOM.\nThis is a mandatory field.","enum":["COMPONENT_TYPE_UNSPECIFIED","COMPONENT_TYPE_LIBRARY","COMPONENT_TYPE_APPLICATION"],"type":"string"},"v1ExportedVEXFormat":{"default":"FORMAT_UNSPECIFIED","description":"The output of VEX. (For example, JSON and XML).\n\n - FORMAT_JSON: SBOM of the JSON format output.\n - FORMAT_XML: SBOM of the XML format output.","enum":["FORMAT_UNSPECIFIED","FORMAT_JSON","FORMAT_XML"],"type":"string"},"v1ExportedVEXSpec":{"description":"The internal specification of the object.","properties":{"component_type":{"$ref":"#/components/schemas/v1ExportedVEXComponentType"},"data":{"description":"This is the output of the VEX which is a string type only.","readOnly":true,"type":"string"},"export_parameters":{"$ref":"#/components/schemas/v1ExportParameters"},"format":{"$ref":"#/components/schemas/v1ExportedVEXFormat"},"include_test_dependencies":{"description":"Whether to include findings against test, dev, build, and optional\ndependencies in the VEX export. When false (the default), findings whose\ntarget dependency is non-production — or only reachable from the root\nthrough non-production paths — are excluded.","type":"boolean"},"kind":{"$ref":"#/components/schemas/v1SBOMKind"}},"required":["component_type"],"type":"object"},"v1Exporter":{"description":"Defines a data exporter.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or\nnot.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ExporterSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the exporter.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ExporterSpec":{"properties":{"exporter_type":{"$ref":"#/components/schemas/SpecExporterType"},"message_type_configs":{"items":{"$ref":"#/components/schemas/ExporterMessageTypeConfig"},"type":"array"},"s3_config":{"$ref":"#/components/schemas/ExporterS3Config"},"wiz_config":{"$ref":"#/components/schemas/ExporterWizConfig"}},"required":["exporter_type"],"type":"object"},"v1ExternalProviderModel":{"description":"ExternalProviderModel represents a model from an external provider.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ExternalProviderModelSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID for the ingested external provider model.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ExternalProviderModelSpec":{"properties":{"custom_provider_name":{"description":"Custom provider's name as given by the user.\nApplies when the provider type is AI_MODEL_PROVIDER_CUSTOM.","type":"string"},"name":{"description":"The name of the model.","type":"string"},"project_uuid":{"description":"The UUID of the project that this model relates to.","type":"string"},"provider":{"$ref":"#/components/schemas/v1AIModelProvider"},"terms_of_service":{"description":"The terms of service of the external provider.","type":"string"}},"required":["project_uuid"],"type":"object"},"v1FactorCategory":{"default":"FACTOR_CATEGORY_UNSPECIFIED","description":"Prioritization factors are organized into categories\nbased on what they capture.\n\n - FACTOR_CATEGORY_SECURITY_RISK: Security risk related.\n - FACTOR_CATEGORY_OPERATIONAL_RISK: Operational risk related.\n - FACTOR_CATEGORY_ENTERPRISE_CONTEXT: Captures the enterprize context, such as critical projects.\n - FACTOR_CATEGORY_COST_OF_FIXING: Captures the effort required to fix the issue.\n - FACTOR_CATEGORY_RISK_OF_FIXING: Captures the risk of attempting to fix the issue.\n - FACTOR_CATEGORY_IMPACT_OF_FIXING: Captures the level of improvement gained from fixing the issue.\n - FACTOR_CATEGORY_FEASIBILITY_OF_FIXING: Captures how feasible it is to fix the issue.","enum":["FACTOR_CATEGORY_UNSPECIFIED","FACTOR_CATEGORY_SECURITY_RISK","FACTOR_CATEGORY_OPERATIONAL_RISK","FACTOR_CATEGORY_ENTERPRISE_CONTEXT","FACTOR_CATEGORY_COST_OF_FIXING","FACTOR_CATEGORY_RISK_OF_FIXING","FACTOR_CATEGORY_IMPACT_OF_FIXING","FACTOR_CATEGORY_FEASIBILITY_OF_FIXING"],"type":"string"},"v1FactorImpact":{"default":"FACTOR_IMPACT_UNSPECIFIED","description":"The settings capture the impact of this factor on the decision.\n\n - FACTOR_IMPACT_NONE: Does not affect the priority.\n - FACTOR_IMPACT_POSITIVE: Important. Increases the priority.\n - FACTOR_IMPACT_VERY_POSITIVE: Very important. Increases the priority even more.\n - FACTOR_IMPACT_NEGATIVE: Not important. Reduces the priority.\n - FACTOR_IMPACT_VERY_NEGATIVE: Not important at all. Reduces the priority even more.","enum":["FACTOR_IMPACT_UNSPECIFIED","FACTOR_IMPACT_NONE","FACTOR_IMPACT_POSITIVE","FACTOR_IMPACT_VERY_POSITIVE","FACTOR_IMPACT_NEGATIVE","FACTOR_IMPACT_VERY_NEGATIVE"],"type":"string"},"v1Feedback":{"description":"Feedback represents a feedback in the system.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FeedbackSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the feedback.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1FeedbackAction":{"description":"FeedbackAction prompts the user with a message without blocking.","properties":{"feedback_message":{"type":"string"},"message":{"type":"string"}},"type":"object"},"v1FeedbackSpec":{"properties":{"comment":{"description":"The comment associated with the feedback.","type":"string"},"feedback_type":{"$ref":"#/components/schemas/FeedbackFeedbackType"},"finding":{"$ref":"#/components/schemas/v1Finding"},"resource_kind":{"description":"The type of the parent resource to which this feedback is attached, such as \"Project\".","type":"string"},"resource_uuid":{"description":"The unique identifier (UUID) of the parent resource to which this feedback is attached.","type":"string"}},"required":["resource_uuid","resource_kind","feedback_type"],"type":"object"},"v1FileAccessActivity":{"description":"FileAccessActivity matches file access by operation and path patterns.","properties":{"file_name_patterns":{"description":"Regex file patterns (e.g. \"\\\\.env$\", \"secrets/.*\", \".*\\\\.key$\").","items":{"type":"string"},"type":"array"},"file_operation":{"$ref":"#/components/schemas/v1FileAccessActivityFileOperation"}},"type":"object"},"v1FileAccessActivityFileOperation":{"default":"FILE_OPERATION_UNSPECIFIED","description":"FileOperation identifies the type of file access.","enum":["FILE_OPERATION_UNSPECIFIED","FILE_OPERATION_READ","FILE_OPERATION_WRITE","FILE_OPERATION_DELETE","FILE_OPERATION_EDIT"],"type":"string"},"v1FileAccessMatch":{"description":"FileAccessMatch describes a file access that matched a policy.","properties":{"matched_file_name_pattern":{"description":"File name pattern that matched.","type":"string"},"matched_file_operation":{"$ref":"#/components/schemas/v1FileAccessActivityFileOperation"}},"type":"object"},"v1FileHashQueryRequest":{"description":"A file hash query request allows the caller to send a set of file hashes\nand use the segment index to match those hashes to file versions\nin one or more repositories.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FileHashQueryRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the filehash query request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1FileHashQueryRequestSpec":{"properties":{"query":{"$ref":"#/components/schemas/FileHashQueryRequestFileHashQuery"}},"type":"object"},"v1FileHook":{"description":"FileHook contains payload for file-related hooks.","properties":{"file_name":{"description":"File name or path.","type":"string"},"operation":{"$ref":"#/components/schemas/AgentHookEventSpecFileOperation"},"tool_input":{"description":"Tool invocation input; structure is tool-specific (use Struct for JSON).","type":"object"},"tool_response":{"description":"Tool result; structure is tool-specific (e.g. stdout/stderr or filenames).","type":"object"}},"type":"object"},"v1FileInfo":{"description":"The breakdown for various file categories.","properties":{"byte_count":{"description":"The number of bytes.","format":"uint64","type":"string"},"file_count":{"description":"The number of files.","format":"uint64","type":"string"},"line_count":{"description":"The number of lines.","format":"uint64","type":"string"}},"type":"object"},"v1FileSegments":{"description":"File segment metadata for a given customer source file.\nStored in mongo and used to refresh dependencies.\nNOTE: Not used for OSS-projects.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FileSegmentsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID of the file segments.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1FileSegmentsSpec":{"properties":{"file_hash":{"description":"File content hash.","type":"string"},"language":{"$ref":"#/components/schemas/v1Language"},"project_uuid":{"description":"UUID of the project that this file belongs to.","type":"string"},"scope":{"$ref":"#/components/schemas/v1DependencyScope"},"segmenter_version":{"description":"Segmenter version.","format":"int32","type":"integer"},"segments":{"description":"File segment metadata.","items":{"$ref":"#/components/schemas/v1SegmentMetadata"},"type":"array"}},"type":"object"},"v1FileStats":{"description":"File statistics message. Included as the payload of a metric object.","properties":{"badges":{"description":"The names of the badges in the repository.","items":{"type":"string"},"type":"array"},"best_practices_files":{"description":"The names of files that represent best practices.","items":{"type":"string"},"type":"array"},"cicd_files":{"description":"The names of files that contain CI/CD configuration.","items":{"type":"string"},"type":"array"},"copyrights":{"description":"The list of copyright notices found in source files.","items":{"type":"string"},"type":"array"},"documentation_files":{"description":"The names of files that contain documentation.","items":{"type":"string"},"type":"array"},"file_info":{"$ref":"#/components/schemas/v1FileInfo"},"file_types":{"additionalProperties":{"$ref":"#/components/schemas/v1FileInfo"},"description":"The breadown for each file type.","type":"object"},"has_codeowners":{"description":"Whether the version contain a valid code owners file or not.","type":"boolean"},"has_license":{"description":"Whether there is a licence or not.","type":"boolean"},"has_security_md":{"description":"Whether the version contain a SECURITY.md file or not.","type":"boolean"},"languages":{"additionalProperties":{"$ref":"#/components/schemas/v1FileInfo"},"description":"The breadown for each language type.","type":"object"},"license_name":{"description":"The name of the license.","type":"string"},"license_type":{"description":"The type of the license.","type":"string"},"make_files":{"description":"The names of files that are related to Make tools.","items":{"type":"string"},"type":"array"},"sast_files":{"description":"The names of files that are related to SAST tools.","items":{"type":"string"},"type":"array"},"test_files":{"description":"The names of files that contain tests.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1FileType":{"default":"FILE_TYPE_UNSPECIFIED","enum":["FILE_TYPE_UNSPECIFIED","FILE_TYPE_FILE","FILE_TYPE_SYMLINK"],"type":"string"},"v1Finding":{"description":"A finding contains details of a problem that needs to be fixed.\nThe finding applies to the parent object, which can be one of:\nRepository, RepositoryVersion, or PackageVersion.\nFinding objects are connected to the project via spec.project_uuid.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1FindingCategory":{"default":"FINDING_CATEGORY_UNSPECIFIED","description":"Finding categories loosely correspond to use cases.\n\n - FINDING_CATEGORY_VULNERABILITY: Vulnerability.\n - FINDING_CATEGORY_SUPPLY_CHAIN: Supply chain specific problem (malicious packages, typosquats).\n - FINDING_CATEGORY_LICENSE_RISK: License issue.\n - FINDING_CATEGORY_SCPM: Security posture management.\n - FINDING_CATEGORY_SECURITY: Generic security issue.\n - FINDING_CATEGORY_OPERATIONAL: Generic operational issue.\n - FINDING_CATEGORY_SECRETS: Exposed secret.\n - FINDING_CATEGORY_MALWARE: Malware.\n - FINDING_CATEGORY_CICD: CI/CD pipeline issue.\n - FINDING_CATEGORY_TOOLS: Tooling issue.\n - FINDING_CATEGORY_GHACTIONS: Finding applies to a GitHub action dependency.\n - FINDING_CATEGORY_CONTAINER: Finding applies to a container image.\n - FINDING_CATEGORY_SAST: SAST.\n - FINDING_CATEGORY_AI_MODELS: AI Models.\n - FINDING_CATEGORY_SECURITY_REVIEW: Security review.\n - FINDING_CATEGORY_SCA: Software Composition Analysis issue.","enum":["FINDING_CATEGORY_UNSPECIFIED","FINDING_CATEGORY_VULNERABILITY","FINDING_CATEGORY_SUPPLY_CHAIN","FINDING_CATEGORY_LICENSE_RISK","FINDING_CATEGORY_SCPM","FINDING_CATEGORY_SECURITY","FINDING_CATEGORY_OPERATIONAL","FINDING_CATEGORY_SECRETS","FINDING_CATEGORY_MALWARE","FINDING_CATEGORY_CICD","FINDING_CATEGORY_TOOLS","FINDING_CATEGORY_GHACTIONS","FINDING_CATEGORY_CONTAINER","FINDING_CATEGORY_SAST","FINDING_CATEGORY_AI_MODELS","FINDING_CATEGORY_SECURITY_REVIEW","FINDING_CATEGORY_SCA"],"type":"string"},"v1FindingClassification":{"default":"FINDING_CLASSIFICATION_UNSPECIFIED","description":"Classification of the finding type. Extensible for future categories.\n\n - FINDING_CLASSIFICATION_SECURITY_VULNERABILITY: Security vulnerability (e.g. SQL injection, XSS, hardcoded creds).\n - FINDING_CLASSIFICATION_LOGICAL_BUG: Logical bug (e.g. null pointer, resource leak, race condition).","enum":["FINDING_CLASSIFICATION_UNSPECIFIED","FINDING_CLASSIFICATION_SECURITY_VULNERABILITY","FINDING_CLASSIFICATION_LOGICAL_BUG"],"type":"string"},"v1FindingContainerData":{"properties":{"base_image":{"description":"Base image of the container image where the target dependency was\nfound.","type":"string"},"has_base_layer":{"description":"Set to true if the target dependency was found in the base layer of the\ncontainer image.","type":"boolean"},"layer_digests":{"description":"List of layer digests for the container image where the target\ndependency was found.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1FindingCountEntry":{"description":"Counts for one stage of one group.\nAn entry is emitted only where the group matched at least one finding, so a missing entry reads\nas zero rather than as absent data.","properties":{"counts":{"$ref":"#/components/schemas/endorv1FindingCounts"},"group":{"$ref":"#/components/schemas/v1FindingCountGroup"},"stage":{"$ref":"#/components/schemas/v1FindingCountStage"}},"type":"object"},"v1FindingCountGroup":{"default":"FINDING_COUNT_GROUP_UNSPECIFIED","description":"Identifies a group: a set of finding-matching criteria, and a tree of stages that narrows it.\nBoth the criteria and the stage tree live in the backend registry, which is the only emitter of\nthese counts. Groups are not mutually exclusive, so a finding matching two of them would be\ncounted in each.\n\n - FINDING_COUNT_GROUP_UNSPECIFIED: No group has been set.\n - FINDING_COUNT_GROUP_SCA_VULNERABILITY: Findings carrying both the SCA and vulnerability categories.\n - FINDING_COUNT_GROUP_AI_SAST: Findings carrying the SAST category and the AI tag.\n - FINDING_COUNT_GROUP_SECRETS: Findings carrying the secrets category.\n - FINDING_COUNT_GROUP_CONTAINER: Findings carrying the container category.","enum":["FINDING_COUNT_GROUP_UNSPECIFIED","FINDING_COUNT_GROUP_SCA_VULNERABILITY","FINDING_COUNT_GROUP_AI_SAST","FINDING_COUNT_GROUP_SECRETS","FINDING_COUNT_GROUP_CONTAINER"],"type":"string"},"v1FindingCountStage":{"default":"FINDING_COUNT_STAGE_UNSPECIFIED","description":"Identifies one step in a group's stage tree.\nEach value names only the criteria that step narrows by. A stage counts what is left once its own\ncriteria and every criteria on its path from the tree's root have been applied, so the same stage\ncounts a different set in each group it appears in, and the registry's stage tree is the only\nplace a stage's full criteria can be read. Sibling stages fork the funnel: each narrows their\nshared parent independently, and their sets may overlap.\n\n - FINDING_COUNT_STAGE_UNSPECIFIED: No stage has been set.\n - FINDING_COUNT_STAGE_TOTAL: Narrows by nothing; counts every finding matching the group's own criteria.\n - FINDING_COUNT_STAGE_NOT_IN_TEST: Narrows to findings carrying the normal tag, which marks findings outside test code.\n - FINDING_COUNT_STAGE_FIX_AVAILABLE: Narrows to findings carrying the fix available tag.\n - FINDING_COUNT_STAGE_REACHABLE: Narrows to findings carrying the reachable function tag for SCA vulnerabilities, or the\nreachable dependency tag for containers.\n - FINDING_COUNT_STAGE_EXPLOITABLE: Narrows to findings with an EPSS probability at or above 1%, the threshold for exploitation in\nthe wild. Follows REACHABLE in every group that uses it, so it never counts an unreachable\nfinding.\n - FINDING_COUNT_STAGE_TRUE_POSITIVE: Narrows to findings carrying the true positive tag.\n - FINDING_COUNT_STAGE_VALID_SECRET: Narrows to findings carrying the valid secret tag, set when the secret still authenticates\nagainst its provider.\n - FINDING_COUNT_STAGE_POTENTIALLY_REACHABLE: Narrows to findings carrying a potentially reachable tag. Forks from the same parent as\nREACHABLE, and the two branches may overlap: a finding tagged both reachable and potentially\nreachable is counted in each.\n - FINDING_COUNT_STAGE_POTENTIALLY_EXPLOITABLE: Narrows by the same EPSS threshold as EXPLOITABLE, but follows POTENTIALLY_REACHABLE, so it\ncounts the exploitable findings on the potentially reachable branch.","enum":["FINDING_COUNT_STAGE_UNSPECIFIED","FINDING_COUNT_STAGE_TOTAL","FINDING_COUNT_STAGE_NOT_IN_TEST","FINDING_COUNT_STAGE_FIX_AVAILABLE","FINDING_COUNT_STAGE_REACHABLE","FINDING_COUNT_STAGE_EXPLOITABLE","FINDING_COUNT_STAGE_TRUE_POSITIVE","FINDING_COUNT_STAGE_VALID_SECRET","FINDING_COUNT_STAGE_POTENTIALLY_REACHABLE","FINDING_COUNT_STAGE_POTENTIALLY_EXPLOITABLE"],"type":"string"},"v1FindingFixingPatch":{"description":"FindingFixingPatch that can fix the finding.","properties":{"endor_patch_available":{"type":"boolean"}},"type":"object"},"v1FindingFixingUpgrades":{"description":"Upgrades that can fix the finding.","properties":{"upgrade_list":{"description":"List of upgrades that can fix the finding.","items":{"$ref":"#/components/schemas/FindingFixingUpgradesUpgradeInfo"},"type":"array"}},"type":"object"},"v1FindingLog":{"description":"A finding log contains details of the state of a finding at the time it was\ncreated, updated or deleted.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the finding log.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1FindingLogAggregate":{"description":"FindingLogAggregate stores per-day FindingLog metrics.\nOne document per (namespace, bucket, level).","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FindingLogAggregateSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the aggregate record.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1FindingLogAggregateSpec":{"properties":{"bucket_day_utc":{"description":"Truncated to 00:00:00Z. Any other time of day forks the unique key and\nsplits the day across two documents.","format":"date-time","type":"string"},"closed":{"description":"Findings closed in this bucket.","format":"int64","type":"string"},"days_unresolved_sum":{"description":"Sum of days_unresolved over the findings closed in this bucket. Divided\nby closed it gives MTTR. No average is stored because a stored mean\ncannot re-aggregate.","format":"int64","type":"string"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"opened":{"description":"Findings opened in this bucket.","format":"int64","type":"string"}},"required":["bucket_day_utc","level"],"type":"object"},"v1FindingLogSpec":{"properties":{"approximation":{"description":"True if this finding is for an approximate dependency\nbased on the unresolved package dependencies.","type":"boolean"},"days_unresolved":{"description":"Number of days that this finding remained unresolved.","format":"int64","type":"string"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"finding_categories":{"description":"List of categories that capture the use case to which the finding fits.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"finding_parent_kind":{"description":"Finding parent object resource kind. For example, PackageVersion.","type":"string"},"finding_parent_name":{"description":"finding_parent_name is the name of the parent object.","type":"string"},"finding_parent_uuid":{"description":"Finding parent object UUID.","type":"string"},"finding_tags":{"description":"List of tags, or attributes, that describe the scope of the finding\nand can be used to filter findings.","items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"},"finding_uuid":{"description":"The UUID of the finding.","type":"string"},"introduced_at":{"description":"Time the finding was introduced.","format":"date-time","type":"string"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"location":{"description":"File paths or URLs where the finding was detected.","items":{"type":"string"},"type":"array"},"method":{"$ref":"#/components/schemas/v1SystemEvaluationMethodDefinition"},"operation":{"$ref":"#/components/schemas/v1FindingLogSpecOperation"},"resolved_at":{"description":"Time the finding was resolved.","format":"date-time","type":"string"},"snooze":{"$ref":"#/components/schemas/v1DismissParams"},"target_dependency_package_name":{"description":"Fully qualified name of the dependency. For example,\neco://package@version.","type":"string"},"target_uuid":{"description":"The UUID of the DependencyMetadata object for the dependency.","type":"string"}},"required":["finding_uuid","finding_parent_kind","finding_parent_uuid","operation","introduced_at","method","level","finding_tags","finding_categories"],"type":"object"},"v1FindingLogSpecOperation":{"default":"OPERATION_UNSPECIFIED","enum":["OPERATION_UNSPECIFIED","OPERATION_CREATE","OPERATION_UPDATE","OPERATION_DELETE"],"type":"string"},"v1FindingMetadata":{"description":"Metadata associated with a finding.","properties":{"ai_sast_data":{"$ref":"#/components/schemas/AIResultSAST"},"ci_blocking_policy_info":{"$ref":"#/components/schemas/v1FindingPolicyInfo"},"container_data":{"$ref":"#/components/schemas/v1FindingContainerData"},"custom":{"description":"Custom finding metadata."},"cvss_version":{"$ref":"#/components/schemas/SpecCVSSVersion"},"dependency_package_version_metadata":{"$ref":"#/components/schemas/v1PackageVersionMetadata"},"dependency_score_card":{"$ref":"#/components/schemas/v1ScoreCard"},"dependency_score_factor_list":{"$ref":"#/components/schemas/v1ScoreFactorList"},"malware":{"$ref":"#/components/schemas/v1Malware"},"root_package_resolved_dependencies":{"$ref":"#/components/schemas/v1Bom"},"root_package_score_card":{"$ref":"#/components/schemas/v1ScoreCard"},"root_package_score_factor_list":{"$ref":"#/components/schemas/v1ScoreFactorList"},"root_package_version_metadata":{"$ref":"#/components/schemas/v1PackageVersionMetadata"},"sast_data":{"$ref":"#/components/schemas/v1SastData"},"security_review_data":{"$ref":"#/components/schemas/v1SecurityReviewFindingData"},"source_policy_info":{"$ref":"#/components/schemas/v1FindingPolicyInfo"},"typosquatted_dependency_version_metadata":{"$ref":"#/components/schemas/v1PackageVersionMetadata"},"vulnerability":{"$ref":"#/components/schemas/v1Vuln"}},"type":"object"},"v1FindingPolicyInfo":{"description":"Details about the policy that created the finding.","properties":{"description":{"description":"Policy description.","type":"string"},"finding_name":{"description":"Finding name.","type":"string"},"name":{"description":"Policy name.","type":"string"},"results":{"description":"List of policy matches.","items":{"$ref":"#/components/schemas/FindingPolicyInfoPolicyResult"},"type":"array"},"tags":{"description":"Policy meta tags.","items":{"type":"string"},"type":"array"},"total_num_results":{"description":"The total number of results matched by the policy. This number may be greater\nthan the list of policy matches in the results field, which is truncated if\nthere are more than 5 results.","format":"int32","type":"integer"},"uuid":{"description":"Policy UUID.","type":"string"}},"type":"object"},"v1FindingRecordScope":{"default":"FINDING_RECORD_SCOPE_UNSPECIFIED","description":"Which finding types populate the record-level fixed/introduced lists. Shared\nby the impact query, the records drill-down query, and the container context\ndiff queries. The severity/reachability COUNT fields are always computed both\nways (all_counts and vuln_counts); this selects only which findings appear in\nthe record lists and, correspondingly, which totals those record views\nreconcile against.\n\n - FINDING_RECORD_SCOPE_UNSPECIFIED: Unset; treated as FINDING_RECORD_SCOPE_ALL.\n - FINDING_RECORD_SCOPE_ALL: All finding types. Record views reconcile with all_counts / all_changes.\n - FINDING_RECORD_SCOPE_VULNERABILITY: Vulnerability findings only. Record views reconcile with vuln_counts /\nvuln_changes.","enum":["FINDING_RECORD_SCOPE_UNSPECIFIED","FINDING_RECORD_SCOPE_ALL","FINDING_RECORD_SCOPE_VULNERABILITY"],"type":"string"},"v1FindingRemediation":{"default":"FINDING_REMEDIATION_UNSPECIFIED","description":"Recommended action to resolve the finding.\n\n - FINDING_REMEDIATION_UPGRADE: Upgrade to a later version.\n - FINDING_REMEDIATION_DOWNGRADE: Downgrade to an older version.\n - FINDING_REMEDIATION_REPLACE: Replace dependency with another package.\n - FINDING_REMEDIATION_REMOVE: Remove unused dependency.\n - FINDING_REMEDIATION_VENDOR: Vendor a dependency.\n - FINDING_REMEDIATION_IMPROVE: Make changes to improve a dependency.\n - FINDING_REMEDIATION_REIMPLEMENT: Reimplement a dependency locally.\n - FINDING_REMEDIATION_REVIEW: Review, no remediation to suggest\n - FINDING_REMEDIATION_NOTIFICATION: Notification, there may not be any remediation\n - FINDING_REMEDIATION_PIN: Pin dependency to one of the recommended versions","enum":["FINDING_REMEDIATION_UNSPECIFIED","FINDING_REMEDIATION_UPGRADE","FINDING_REMEDIATION_DOWNGRADE","FINDING_REMEDIATION_REPLACE","FINDING_REMEDIATION_REMOVE","FINDING_REMEDIATION_VENDOR","FINDING_REMEDIATION_IMPROVE","FINDING_REMEDIATION_REIMPLEMENT","FINDING_REMEDIATION_REVIEW","FINDING_REMEDIATION_NOTIFICATION","FINDING_REMEDIATION_PIN"],"type":"string"},"v1FindingSpec":{"description":"Finding specific data.","properties":{"actions":{"$ref":"#/components/schemas/v1Actions"},"approximation":{"description":"True if this finding is for an approximate dependency\nbased on the unresolved package dependencies.","type":"boolean"},"call_graph_analysis_type":{"$ref":"#/components/schemas/v1CallGraphAnalysisType"},"code_owners":{"$ref":"#/components/schemas/v1CodeOwnerData"},"dependency_file_paths":{"description":"List of relative paths to the dependency files used to create the bom, if\napplicable. This field is optional and is only set when the source code\nof the package version is known. For example, for Golang it contains\ngo.mod and go.sum.","items":{"type":"string"},"type":"array"},"dismiss":{"description":"Set to true to exclude finding from action policies\n(a.k.a. admission and notification policies).\nFindings can be dismissed in bulk by exception policies\nand/or individually via the snooze parameters or\nthe ignore file.","type":"boolean"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"exceptions":{"$ref":"#/components/schemas/v1Exceptions"},"explanation":{"description":"Information about why this finding is considered noteworthy.","type":"string"},"extra_key":{"description":"Additional information used to create a unique finding.\n\nIn some cases we want to create multiple findings for the same\ncombination of parent_uuid, meta.name, and target_uuid, for example when\nthere are multiple vulnerabilities affecting the same dependency. By\nsetting different values in this field, we are able to create a unique\nfinding per combination of parent_uuid, meta.name, target_uuid, and\nextra_key.","type":"string"},"finding_categories":{"description":"List of categories that capture the use case the finding fits in.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"finding_metadata":{"$ref":"#/components/schemas/v1FindingMetadata"},"finding_tags":{"description":"List of tags, or attributes, that describe the scope of the finding\nand can be used to filter findings.","items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"},"fixing_patch":{"$ref":"#/components/schemas/v1FindingFixingPatch"},"fixing_upgrades":{"$ref":"#/components/schemas/v1FindingFixingUpgrades"},"ignore":{"$ref":"#/components/schemas/v1DismissParams"},"last_processed":{"description":"Last time the finding was processed.","format":"date-time","type":"string"},"latest_version":{"description":"Latest version of dependency, if available.","type":"string"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"location_urls":{"additionalProperties":{"type":"string"},"description":"The URLs that correspond to the paths contained in dependency_file_paths.","type":"object"},"method":{"$ref":"#/components/schemas/v1SystemEvaluationMethodDefinition"},"project_uuid":{"description":"The UUID of the project to which this finding belongs.","type":"string"},"proposed_version":{"description":"Recommended version of dependency if available.","type":"string"},"reachable_paths":{"description":"Function paths to the vulnerable method.\nOnly applies to vulnerability findings.","items":{"$ref":"#/components/schemas/FindingSpecPath"},"type":"array"},"relationship":{"description":"String describing the relationship to dependency,\nFor example, \"Foo is a direct dependency of bar.\", if applicable.","type":"string"},"remediation":{"description":"String describing the recommended remediation to fix this finding.","type":"string"},"remediation_action":{"$ref":"#/components/schemas/v1FindingRemediation"},"snooze":{"$ref":"#/components/schemas/v1DismissParams"},"source_code_version":{"$ref":"#/components/schemas/v1Version"},"summary":{"description":"A more detailed description of the finding.","type":"string"},"target_dependency_name":{"description":"Dependency package name, if applicable.\nThis is just the name (i.e. it does not include the ecosystem or the\nversion).","type":"string"},"target_dependency_native_scope":{"description":"Un-normalized native dependency scope from the package manager\n(e.g. Maven \"provided\"). Empty if none.","type":"string"},"target_dependency_package_name":{"description":"Fully qualified name of the dependency, e.g. eco://package@version, if\napplicable.","type":"string"},"target_dependency_version":{"description":"Dependency version, if applicable.\nThis is just the version (i.e. it does not include the ecosystem or the\npackage name).","type":"string"},"target_uuid":{"description":"The UUID of the DependencyMetadata object for the dependency, if\napplicable.","type":"string"}},"required":["project_uuid","last_processed","level","summary","finding_tags","target_uuid","extra_key"],"type":"object"},"v1FindingSummaryInfo":{"description":"FindingSummaryInfo contains some selected fields for a finding.","properties":{"description":{"type":"string"},"finding_categories":{"items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"finding_tags":{"items":{"$ref":"#/components/schemas/v1FindingTags"},"type":"array"},"level":{"$ref":"#/components/schemas/SpecFindingLevel"},"name":{"type":"string"},"parent_uuid":{"type":"string"},"target_dependency_package_name":{"type":"string"},"uuid":{"type":"string"}},"type":"object"},"v1FindingTags":{"default":"FINDING_TAGS_UNSPECIFIED","description":"Finding attributes.\n\n - FINDING_TAGS_DIRECT: Finding applies to a direct dependency.\n - FINDING_TAGS_TRANSITIVE: Finding applies to a transitive (indirect) dependency.\n - FINDING_TAGS_PROJECT_INTERNAL: Finding applies to a dependency that belongs to the same project.\n - FINDING_TAGS_NAMESPACE_INTERNAL: Finding applies to a dependency that belongs to the same namespace.\n - FINDING_TAGS_REACHABLE_DEPENDENCY: Finding applies to a reachable dependency.\n - FINDING_TAGS_UNREACHABLE_DEPENDENCY: Finding applies to an unreachable dependency.\n - FINDING_TAGS_POTENTIALLY_REACHABLE_DEPENDENCY: Finding applies to a potentially reachable dependency.\n - FINDING_TAGS_REACHABLE_FUNCTION: Finding applies to a reachable function.\n - FINDING_TAGS_UNREACHABLE_FUNCTION: Finding applies to an unreachable function.\n - FINDING_TAGS_POTENTIALLY_REACHABLE_FUNCTION: Finding applies to a potentially reachable function.\n - FINDING_TAGS_FIXABLE: Deprecated.\n - FINDING_TAGS_UNFIXABLE: Finding is unfixable.\n - FINDING_TAGS_PRODUCTION: Deprecated.\n - FINDING_TAGS_TEST: Finding applies to a dependency not in production code.\n - FINDING_TAGS_NORMAL: Finding applies to a normal, non-test, dependency.\n - FINDING_TAGS_FIX_AVAILABLE: There is a fix available for the CVE reported in this finding.\n - FINDING_TAGS_SELF: Finding applies only to the analyzed package version, there is no\ndependency involved.\n - FINDING_TAGS_POLICY: Deprecated.\n - FINDING_TAGS_CI_BLOCKER: Finding caused a CI failure.\n - FINDING_TAGS_VALID_SECRET: Finding applies to a valid secret.\n - FINDING_TAGS_INVALID_SECRET: Finding applies to an invalid secret.\n - FINDING_TAGS_PATH_EXTERNAL: Finding applies to a transitive dependency that can only be reached via\nexternal, non-OSS, project paths.\n - FINDING_TAGS_MALWARE: Finding applies to malicious package.\n - FINDING_TAGS_UNDER_REVIEW: Finding applies to suspicious package under review.\n - FINDING_TAGS_PHANTOM: Finding applies to a phantom dependency.\n - FINDING_TAGS_EXCEPTION: Finding is exempt from action policies.\n - FINDING_TAGS_CI_WARNING: Finding caused a CI warning.\n - FINDING_TAGS_NOTIFICATION: Finding triggered a notification.\n - FINDING_TAGS_EXPLOITED: This vulnerability is known to be exploited.\n - FINDING_TAGS_DISPUTED: This vulnerability has been marked as 'disputed'.\n - FINDING_TAGS_WITHDRAWN: This vulnerability has been marked as 'withdrawn'.\n - FINDING_TAGS_FALSE_POSITIVE: This finding has been analyzed to be a false positive.\n - FINDING_TAGS_TRUE_POSITIVE: This finding has been analyzed to be a true positive.\n - FINDING_TAGS_SNOOZED: Finding has been snoozed.\n - FINDING_TAGS_AI: This finding was generated using AI.\n - FINDING_TAGS_IGNORED: Finding has been ignored via the ignore file.\n - FINDING_TAGS_SEGMENT_MATCH: Finding applies to a dependency discovered via segment-matching.\n - FINDING_TAGS_REACHABLE_BY_INCLUSION: The vulnerability is assumed reachable because the package is included;\nno call path to a vulnerable function exists.\n - FINDING_TAGS_POTENTIALLY_VALID_SECRET: Finding applies to a secret that has not been validated.","enum":["FINDING_TAGS_UNSPECIFIED","FINDING_TAGS_DIRECT","FINDING_TAGS_TRANSITIVE","FINDING_TAGS_PROJECT_INTERNAL","FINDING_TAGS_NAMESPACE_INTERNAL","FINDING_TAGS_REACHABLE_DEPENDENCY","FINDING_TAGS_UNREACHABLE_DEPENDENCY","FINDING_TAGS_POTENTIALLY_REACHABLE_DEPENDENCY","FINDING_TAGS_REACHABLE_FUNCTION","FINDING_TAGS_UNREACHABLE_FUNCTION","FINDING_TAGS_POTENTIALLY_REACHABLE_FUNCTION","FINDING_TAGS_FIXABLE","FINDING_TAGS_UNFIXABLE","FINDING_TAGS_PRODUCTION","FINDING_TAGS_TEST","FINDING_TAGS_NORMAL","FINDING_TAGS_FIX_AVAILABLE","FINDING_TAGS_SELF","FINDING_TAGS_POLICY","FINDING_TAGS_CI_BLOCKER","FINDING_TAGS_VALID_SECRET","FINDING_TAGS_INVALID_SECRET","FINDING_TAGS_PATH_EXTERNAL","FINDING_TAGS_MALWARE","FINDING_TAGS_UNDER_REVIEW","FINDING_TAGS_PHANTOM","FINDING_TAGS_EXCEPTION","FINDING_TAGS_CI_WARNING","FINDING_TAGS_NOTIFICATION","FINDING_TAGS_EXPLOITED","FINDING_TAGS_DISPUTED","FINDING_TAGS_WITHDRAWN","FINDING_TAGS_FALSE_POSITIVE","FINDING_TAGS_TRUE_POSITIVE","FINDING_TAGS_SNOOZED","FINDING_TAGS_AI","FINDING_TAGS_IGNORED","FINDING_TAGS_SEGMENT_MATCH","FINDING_TAGS_REACHABLE_BY_INCLUSION","FINDING_TAGS_POTENTIALLY_VALID_SECRET"],"type":"string"},"v1FindingUpgradeBreakdown":{"description":"Protobuf definition for FindingUpgradeBreakdown.","properties":{"current_count":{"description":"The finding count in the current version across all severities.","format":"int32","type":"integer"},"fixed_findings":{"description":"Fixed findings.","items":{"type":"string"},"type":"array"},"reduction":{"description":"The reduction in findings across all severities.","format":"int32","type":"integer"},"severity":{"additionalProperties":{"$ref":"#/components/schemas/v1FindingUpgradeInfo"},"description":"The breakdown of finding information per severity level.","type":"object"},"upgrade_count":{"description":"The finding count in the upgrade version across all severities.","format":"int32","type":"integer"}},"type":"object"},"v1FindingUpgradeInfo":{"description":"Protobuf definition for FindingUpgradeInfo.","properties":{"current_count":{"description":"The finding count in the current version.","format":"int32","type":"integer"},"fixed":{"additionalProperties":{"$ref":"#/components/schemas/v1Finding"},"description":"The findings fixed.","type":"object"},"fixed_count":{"description":"The number of total findings fixed by the upgrade.","format":"int32","type":"integer"},"fixed_summary":{"additionalProperties":{"$ref":"#/components/schemas/v1FindingSummaryInfo"},"description":"The findings fixed. Summary information only.","type":"object"},"introduced":{"additionalProperties":{"$ref":"#/components/schemas/v1Finding"},"description":"The findings introduced.","type":"object"},"introduced_count":{"description":"The number of total findings introduced by the upgrade.","format":"int32","type":"integer"},"introduced_summary":{"additionalProperties":{"$ref":"#/components/schemas/v1FindingSummaryInfo"},"description":"The findings introduced. Summary information only.","type":"object"},"reachable_fixed_count":{"description":"The number of reachable findings fixed by the upgrade.","format":"int32","type":"integer"},"reachable_introduced_count":{"description":"The number of reachable findings introduced by the upgrade.","format":"int32","type":"integer"},"reduction":{"description":"Overall reduction in findings.","format":"int32","type":"integer"},"upgrade_count":{"description":"The finding count in the upgrade version.","format":"int32","type":"integer"}},"type":"object"},"v1FunctionChange":{"description":"Protobuf definition for FunctionChange.","properties":{"defined":{"type":"boolean"},"diff_change":{"$ref":"#/components/schemas/v1ChangeType"},"function_reference":{"type":"string"},"id":{"type":"string"},"modifier_change":{"$ref":"#/components/schemas/v1ModifierChangeType"}},"type":"object"},"v1FunctionGraphData":{"description":"FunctionGraphData represents a function graph data request in the system.","properties":{"any":{"$ref":"#/components/schemas/googleprotobufAny"},"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"related_object":{"description":"The internal value that identifies the function graph storage location.","readOnly":true,"type":"string"},"storage_url":{"description":"The URL to the storage location of the callgraph.","readOnly":true,"type":"string"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the function graph.","readOnly":true,"type":"string"},"zstd_bytes":{"description":"Function graph proto bytes are encoded in zstd bytes.\nIt is the responsibility of the caller to compress/uncompress the bytes.","format":"byte","type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"v1FunctionSummaryHashesQuery":{"description":"FunctionSummaryHashesQuery reports which of the given segment hashes are\nmissing a usable function summary, of any status, at the given prompt\nversion or newer. Unlike FunctionSummaryQuery, which returns full summary\ncontent and only matches usable ('ok') summaries for search consumers,\nthis checks bare existence so a client can skip re-summarizing a segment\nalready tombstoned as trivial or failed.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1FunctionSummaryHashesQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"Ephemeral query identifier.","readOnly":true,"type":"string"}},"required":["tenant_meta","spec"],"type":"object"},"v1FunctionSummaryHashesQuerySpec":{"description":"Spec holds the request the caller sends and the response the server\nreturns.","properties":{"request":{"$ref":"#/components/schemas/v1FunctionSummaryHashesQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1FunctionSummaryHashesQuerySpecResponse"}},"required":["request"],"type":"object"},"v1FunctionSummaryHashesQuerySpecRequest":{"description":"Request selects the segment hashes to check.","properties":{"hashes":{"description":"Exact normalized Foiegras function segment hashes to check. A request\nmay contain at most 1000 hashes.","items":{"type":"string"},"type":"array"},"language":{"$ref":"#/components/schemas/v1Language"},"prompt_version":{"description":"Summaries at this prompt version or newer count as present.","format":"int32","type":"integer"}},"required":["language","hashes","prompt_version"],"type":"object"},"v1FunctionSummaryHashesQuerySpecResponse":{"description":"Response reports the hashes that need summarizing.","properties":{"missing_hashes":{"description":"The requested hashes that do not have a summary at prompt_version or\nnewer, of any status.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1FunctionSummaryQuery":{"description":"FunctionSummaryQuery searches structured security summaries for\nindexed OSS functions. Non-empty filters are combined with AND.","properties":{"language":{"$ref":"#/components/schemas/v1Language"},"meta":{"$ref":"#/components/schemas/v1Meta"},"results":{"description":"Results in the same order as searches.","items":{"$ref":"#/components/schemas/FunctionSummaryQuerySearchResult"},"readOnly":true,"type":"array"},"searches":{"description":"Ordered independent searches. Each search combines its non-empty filters\nwith AND. A request may contain at most 20 searches.","items":{"$ref":"#/components/schemas/FunctionSummaryQuerySearch"},"type":"array"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"Ephemeral query identifier.","readOnly":true,"type":"string"}},"required":["language"],"type":"object"},"v1Fuzzy":{"description":"Fuzzy is used to search for a similar string. Parameters\ndetermine the deviation.","properties":{"max_edits":{"format":"int32","type":"integer"},"max_expansion":{"format":"int32","type":"integer"},"prefix_length":{"format":"int32","type":"integer"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"type":"object"},"v1GHEAppRegistration":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1GHEAppRegistrationResponse"},"spec":{"$ref":"#/components/schemas/v1GHEAppRegistrationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1GHEAppRegistrationResponse":{"properties":{"app_registration_url":{"description":"The URL to register the GHE app.","type":"string"}},"type":"object"},"v1GHEAppRegistrationSpec":{"properties":{"base_url":{"description":"The base URL of the GHE instance.","type":"string"},"organization":{"description":"The organization that will own the app.","type":"string"}},"required":["base_url","organization"],"type":"object"},"v1Gated":{"properties":{"disabled":{"type":"boolean"},"mode_type":{"type":"string"}},"type":"object"},"v1GemSpec":{"description":"GemSpec represents a configuration for the Ruby gems package manager.","properties":{"basic_auth":{"$ref":"#/components/schemas/endorv1BasicAuth"},"password":{"description":"An encrypted password that must be provided by the repository owner.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"},"priority":{"description":"The priority of the Ruby gems package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"token_auth":{"$ref":"#/components/schemas/v1TokenAuth"},"url":{"description":"The URL of the registry that the Ruby gems package manager must use.","type":"string"},"user":{"description":"The user name to use to access this repository.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"}},"required":["priority"],"type":"object"},"v1GetParameters":{"description":"Parameters for a get request.","properties":{"mask":{"description":"List of fields to return (all fields are returned by default).","type":"string"}},"type":"object"},"v1GetSupportedReportFormatsResponse":{"description":"Export formats the backend supports, per report job type.","properties":{"formats_by_job_type":{"additionalProperties":{"$ref":"#/components/schemas/v1SupportedReportFormats"},"description":"Supported formats keyed by job type enum name, e.g. \"JOB_TYPE_FINDINGS_REPORT\".","type":"object"}},"type":"object"},"v1GitHubConfig":{"properties":{"app_id":{"description":"The app id of the installation.","type":"string"},"enable_full_scan":{"description":"enable_full_scan is a boolean value that indicates if the full scan should\nbe enabled.","type":"boolean"},"enable_pr_comments":{"description":"enable_pr_comments is a boolean value that indicates if the automated PR\ncomments should be enabled.","type":"boolean"},"enable_pr_scans":{"description":"enable_pr_scans is a boolean value that indicates if the automated PR scans\nare enabled.","type":"boolean"},"host_url":{"description":"The base URL of the corresponding SCM app.","type":"string"},"include_archived_repos":{"description":"include_archived_repos is a boolean value that indicates if the archived\nrepos should be included. Default will be off.","type":"boolean"},"installation_github_user":{"readOnly":true,"title":"installation_github_user is the Github user that initiated the installation","type":"string"}},"type":"object"},"v1GitHubEvent":{"properties":{"event_type":{"$ref":"#/components/schemas/v1GitHubEventEventType"}},"required":["event_type"],"type":"object"},"v1GitHubEventEventType":{"default":"EVENT_TYPE_UNSPECIFIED","enum":["EVENT_TYPE_UNSPECIFIED","EVENT_TYPE_INSTALLATION","EVENT_TYPE_PULL_REQUEST","EVENT_TYPE_CHECK_SUITE","EVENT_TYPE_CHECK_RUN","EVENT_TYPE_REPOSITORY","EVENT_TYPE_ISSUE_COMMENT"],"type":"string"},"v1GitHubPRConfig":{"description":"GitHubPRConfig configures automated GitHub pull requests for remediations.\nDeprecated: Use RemediationPRConfig, which supports all SCM platforms.","properties":{"enabled":{"description":"Turns the creation of automated pull requests on or off for this target.","type":"boolean"}},"required":["enabled"],"type":"object"},"v1GitHubPayload":{"description":"GitHubPayload carries SCM-specific webhook data for a GitHub-originated scan.","properties":{"pull_request_payload":{"description":"pull_request_payload contains the GitHub Pull Request payload\nassociated with this scan request, when available. This allows downstream\ncomponents (e.g., security review scanner) to avoid refetching PR data\nfrom GitHub and instead map this JSON to internal structures on demand.","type":"object"}},"type":"object"},"v1GitHubWorkflows":{"description":"GitHubWorkflows Metric Value contains information about the workflow file's code posture management.","properties":{"workflows":{"items":{"$ref":"#/components/schemas/GitHubWorkflowsWorkflow"},"type":"array"}},"type":"object"},"v1GitLabConfig":{"properties":{"enable_full_scan":{"description":"enable_full_scan is a boolean value that indicates if the full scan should\nbe enabled.","type":"boolean"},"enable_mr_comments":{"description":"enable_mr_comments is a boolean value that indicates if the automated MR\ncomments should be enabled.","type":"boolean"},"enable_mr_scans":{"description":"enable_mr_scans is a boolean value that indicates if the automated MR scans\nare enabled.","type":"boolean"},"host_url":{"description":"The URL of the group/sub-group.","type":"string"},"personal_access_token":{"description":"PAT of the user doing integration to fetch resources using REST APIs.","type":"string"},"webhook_secret":{"description":"The webhook secret configured in GitLab for validating incoming webhook\nevents.","type":"string"}},"required":["host_url"],"type":"object"},"v1GitLabEvent":{"properties":{"event_type":{"$ref":"#/components/schemas/v1GitLabEventEventType"}},"required":["event_type"],"type":"object"},"v1GitLabEventEventType":{"default":"EVENT_TYPE_UNSPECIFIED","enum":["EVENT_TYPE_UNSPECIFIED","EVENT_TYPE_MERGE_REQUEST"],"type":"string"},"v1GitSpec":{"description":"Git repository project configuration.\n\nFields of this object might differ from the Git host.","properties":{"external_installation_id":{"description":"Endor Labs GitHub app installation ID of this project.\nOptional and only available if the project is created through an\ninstallation.","format":"int64","type":"string"},"full_name":{"description":"Represents the Git namespace and its associated hierarchy.\n\nThe format is \"namespace/name\", comprising the organization name and\nrepository name.\n\nFor example, yarpc/yarpc-go\n\nGitHub: curl https://api.github.com/repos/yarpc/yarpc-go | jq .full_name","readOnly":true,"type":"string"},"git_clone_url":{"description":"The Git clone URL.\nFor example, git://github.com/yarpc/yarpc-go.git.\n\nThe URL is stored as lower case letters to normalize searches.","readOnly":true,"type":"string"},"http_clone_url":{"description":"The HTTP clone URL.\n\nThe following examples show valid URLs.\n\nhttps://github.com/yarpc/yarpc-go.git\n\nhttp://github.com/yarpc/yarpc-go.git\n\nhttps://my.github.com/a/b.git\n\nhttps://www.gitlab.com/a/b/c.git\n\nhttps://github.com/eclipse-vertx/vert.x.git\n\nhttps://github.com/jboss/jboss-ejb-api_spec.git\n\nThe URL is stored as lower case letters to normalize searches.","type":"string"},"invalid_installation":{"description":"Indicates that Endor Labs installation no longer exists\nfor this project and was potentially deleted. Endor Labs can no longer\nrefresh or rescan this project.","type":"boolean"},"organization":{"description":"The organization where the repository is located.\n\nFor example, yarpc\n\nGitHub: curl https://api.github.com/repos/yarpc/yarpc-go | jq\n.organization.login","readOnly":true,"type":"string"},"path":{"description":"The source control repository in the project without the organization.\n\nFor example, yarpc-go\n\nGitHub: curl https://api.github.com/repos/yarpc/yarpc-go | jq .name","readOnly":true,"type":"string"},"web_url":{"description":"The web URL to view the repository.\n\nFor example, https://github.com/yarpc/yarpc-go\n\nGitHub: curl https://api.github.com/repos/yarpc/yarpc-go | jq .html_url\n\nThe URL is stored as lower case letters to normalize searches.","readOnly":true,"type":"string"}},"required":["http_clone_url"],"type":"object"},"v1GithubApp":{"properties":{"app_name":{"description":"The name of the GitHub app.","type":"string"},"client_id":{"description":"The client ID of the GitHub app.","type":"string"},"client_secret":{"description":"The client secret of the GitHub app.","type":"string"},"html_url":{"description":"The HTML URL of the GitHub app.","type":"string"},"pem":{"description":"The PEM file of the GitHub app. This is the private key of the GitHub app.","type":"string"},"webhook_secret":{"description":"The webhook secret of the GitHub app.","type":"string"}},"required":["client_id","client_secret","pem","html_url","app_name"],"type":"object"},"v1GithubToken":{"properties":{"spec":{"$ref":"#/components/schemas/v1GithubTokenSpec"}},"type":"object"},"v1GithubTokenSpec":{"properties":{"token":{"description":"The address fields of the tenant.","type":"string"}},"type":"object"},"v1GitlabPayload":{"description":"GitlabPayload carries SCM-specific webhook data for a GitLab-originated scan.\nMirrors GitHubPayload so downstream components (e.g., AI SAST baseline\nlookup) can recover the originating MR number on merge-to-main webhook\nevents where pull_request_id is intentionally blank.","properties":{"merge_request_payload":{"description":"merge_request_payload contains the raw GitLab merge request webhook\npayload as JSON. The originating MR number lives at\n\"object_attributes.iid\".","type":"object"}},"type":"object"},"v1GolangToolChain":{"properties":{"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1GradleSpec":{"description":"GradleSpec represents properties that need to be set for Gradle projects.","properties":{"mtls":{"$ref":"#/components/schemas/v1MTLSAuth"},"property_key_name":{"description":"The key name for Gradle properties.","type":"string"},"property_key_value":{"description":"The key value for Gradle properties.","type":"string"}},"type":"object"},"v1GroupAggregationValueResponse":{"description":"GroupAggregationValueResponse returns the value of the aggregation if\nrequested.","properties":{"value":{"format":"float","type":"number"}},"type":"object"},"v1GroupResponse":{"description":"Response to a list group request.","properties":{"groups":{"additionalProperties":{"$ref":"#/components/schemas/GroupResponseGroupData"},"description":"Map indexed by values of the fields specified in aggregation_paths,\nfor example, {\"[{\"key\":\"meta.kind\",\"value\":\"Project\"}]\": {\n\"aggregation_count\": { \"count\": 1649 } } }.","type":"object"}},"type":"object"},"v1Hash":{"description":"Sequence of characters that can help you verify data integrity.","properties":{"sha256":{"description":"Checksum value of package in hash 256 algorithm.","type":"string"},"sha512":{"description":"Checksum value of package in hash 512 algorithm.","type":"string"}},"type":"object"},"v1HttpHmacAuth":{"description":"HMAC information.","properties":{"hdr_name":{"description":"The name of the header field that contains the signature.","type":"string"},"secret":{"description":"The secret to use for the HMAC calculation.","type":"string"}},"type":"object"},"v1HttpParam":{"description":"HttpParam is the key/value pair that will be rendered as \"Key: Value\"\nin the section of the requested portion of the HTTP request. It could\nbe part of the request like the header, the query, or the body.\n\nIf the authz flag is set, the library will render it as\n\"Authorization: Key Value\" instead of just \"Key: Value\".","properties":{"authz":{"title":"If set, render the key-value as \"Authorization: Key Value\"\ninstead of just \"Key: Value\". The supported keys are the ones\nspecified in the Authorization enum (as string)","type":"boolean"},"key":{"description":"The key for this pair.","type":"string"},"separator":{"description":"The separator to use between key and value. Default is \":\".","type":"string"},"value":{"description":"The value.","type":"string"}},"type":"object"},"v1HttpParamsProfile":{"description":"HttpParamsProfile defines the parameters to create an HTTP request.","properties":{"allowed_template_params":{"items":{"$ref":"#/components/schemas/HttpParamsProfileAllowedTemplateParam"},"readOnly":true,"title":"AllowedTemplateParams defines a list of allowed template parameter names and regexes for validating their values.\nOnly the template parameters with names in this list will be allowed in the template_params field.\nExample: [{\"name\": \"TEMPLATE_PARAM_NAME_CLIENT_ID\", \"regex\": \"abc[0-9]{3}\"}, {\"name\": \"TEMPLATE_PARAM_NAME_TENANT_ID\", \"regex\": \"xyz[0-9]{3}\"}]","type":"array"},"description":{"description":"Detailed description of the request. For example, \"GitHub credential validation\".","type":"string"},"h_request":{"$ref":"#/components/schemas/v1HttpParamsRequest"},"h_response":{"$ref":"#/components/schemas/v1HttpParamsResponse"},"hmac_auth":{"$ref":"#/components/schemas/v1HttpHmacAuth"},"http_request":{"$ref":"#/components/schemas/v1HttpParamsRequest"},"http_response":{"$ref":"#/components/schemas/v1HttpParamsResponse"},"name":{"title":"Name identifies this entry. For example, \"GitHub\"","type":"string"},"request_body":{"description":"Request body as a string. This will be sent as the body of the HTTP request.\nIf both request_body and the body parameter in SendRequest are provided,\nthe body parameter takes precedence.","type":"string"},"template_params":{"items":{"$ref":"#/components/schemas/HttpParamsProfileTemplateParams"},"title":"Template parameter values to use when required template parameters are not found\nin the vicinity of the secret for validation. Each entry represents a set of values that can be\ntried in sequence during validation.\nExample: [{\"values\": [{\"name\": \"TEMPLATE_PARAM_NAME_CLIENT_ID\", \"value\": \"abc123\"}, {\"name\": \"TEMPLATE_PARAM_NAME_TENANT_ID\", \"value\": \"xyz789\"}]}]","type":"array"}},"type":"object"},"v1HttpParamsRequest":{"description":"HttpParamsRequest contains the information expected with the HTTP request.","properties":{"body":{"description":"The information to be put in the HTTP body.","items":{"$ref":"#/components/schemas/v1HttpParam"},"type":"array"},"header":{"description":"The information to be put in the HTTP header.","items":{"$ref":"#/components/schemas/v1HttpParam"},"type":"array"},"method":{"description":"Method is either GET or POST.","type":"string"},"method_name":{"description":"Gets appended to the URL as:\nURL[:method_name] usually followed by the query section.","type":"string"},"query":{"description":"The information to be put in the HTTP query section.","items":{"$ref":"#/components/schemas/v1HttpParam"},"type":"array"},"uri":{"title":"The URI to use for this validation. For example, \"https://api.github.com/user\"","type":"string"}},"type":"object"},"v1HttpParamsResponse":{"description":"HttpParamsResponse contains the information expected with the HTTP response.","properties":{"failed_auth_codes":{"description":"The codes expected on the failed authentication.","items":{"format":"int32","type":"integer"},"type":"array"},"invalid_code_regex":{"description":"The pattern/regex expected on failure. For example, \"5\\\\d\\\\d\".","type":"string"},"status_code":{"description":"The code expected on success. For example, 200.","type":"string"},"successful_auth_codes":{"description":"The codes expected for a successful authentication.","items":{"format":"int32","type":"integer"},"type":"array"},"successful_response_data":{"additionalProperties":{"type":"string"},"description":"Map of key-value pairs that must be present in the response body for successful validation.\nThis allows validation beyond just HTTP status codes.\nExample: {\"ok\": \"true\", \"status\": \"active\"} would require the response to contain both keys\nwith matching values. The response can contain additional fields.","type":"object"},"successful_response_text":{"description":"The expected response body text for successful validation.\nExample: \"invalid_payload\" would require the response body to contain the text \"invalid_payload\".\nThe response body may contain additional text.","type":"string"}},"type":"object"},"v1HuggingFaceConfig":{"properties":{"access_token":{"description":"Optional HuggingFace API token used to authenticate requests for\nprivate models within the organization. When omitted, only publicly\naccessible models are discovered.","type":"string"},"avatar_url":{"description":"Avatar URL of the HuggingFace organization.","type":"string"},"host_url":{"title":"The HuggingFace organization URL.\nExample: \"https://huggingface.co/meta-llama\"","type":"string"}},"required":["host_url"],"type":"object"},"v1HuggingFaceModel":{"description":"HuggingFaceModel represents the JSON object from ingesting from the HuggingFace API.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1HuggingFaceModelSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID for the ingested HuggingFace model.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1HuggingFaceModelSpec":{"properties":{"author":{"description":"Author of the model. For example, \"openai\".","type":"string"},"authorization_required":{"description":"Requires authorized request to access the model.","type":"boolean"},"card_data":{"description":"Model card metadata.","type":"object"},"config":{"description":"Model configuration.","type":"object"},"config_content":{"description":"config.json file content.","type":"string"},"created_at":{"description":"Date of creation of the repository on the Hub.","format":"date-time","type":"string"},"disabled":{"description":"Whether the repository is disabled or not.","type":"boolean"},"discussions":{"$ref":"#/components/schemas/v1Discussion"},"downloads":{"description":"Number of downloads of the model.","format":"int32","type":"integer"},"gated":{"$ref":"#/components/schemas/v1Gated"},"id":{"description":"ID of model (_id).","type":"string"},"last_modified":{"description":"Date of last commit to the repository.","format":"date-time","type":"string"},"library_name":{"description":"Library associated with the model.","type":"string"},"likes":{"description":"Number of likes of the model.","format":"int32","type":"integer"},"mask_token":{"description":"Mask token used by the model.","type":"string"},"model_id":{"description":"Author and model name (seems to hold the same value as the name field).","type":"string"},"model_index":{"description":"Model index for evaluation.","items":{"type":"object"},"type":"array"},"name":{"description":"Author and model name (id). For example, \"openai/clip-vit-base-patch16\".","type":"string"},"organization_name":{"description":"Organization name for which this model belongs to.","type":"string"},"pipeline_tag":{"description":"Pipeline tag associated with the model.","type":"string"},"private":{"description":"Whether the repository is private not.","type":"boolean"},"project_uuid":{"description":"The UUID of the project that this model relates to.","type":"string"},"pull_requests":{"$ref":"#/components/schemas/v1Discussion"},"readme_content":{"description":"README.md file content.","type":"string"},"readme_metadata":{"$ref":"#/components/schemas/v1ReadmeMetadata"},"safetensors":{"description":"Model's safetensors information.","type":"object"},"sha":{"description":"Repository SHA at this particular revision.","type":"string"},"siblings":{"description":"List of files that constitute the model.","items":{"$ref":"#/components/schemas/v1Sibling"},"type":"array"},"spaces":{"description":"List of spaces using the model.","items":{"type":"string"},"type":"array"},"tags":{"description":"List of tags of the model.","items":{"type":"string"},"type":"array"},"transformers_info":{"description":"Transformers-specific information associated with the model.","type":"object"},"widget_data":{"description":"Widget data associated with the model.","items":{"type":"object"},"type":"array"}},"required":["project_uuid"],"type":"object"},"v1HuggingFaceOrganization":{"description":"HuggingFaceOrganization represents a HuggingFace organization and its associated metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1HuggingFaceOrganizationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID for the HuggingFace organization.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1HuggingFaceOrganizationSpec":{"properties":{"model_names":{"description":"Names of models that belong to this organization.","items":{"type":"string"},"type":"array"},"organization_name":{"description":"Name of the HuggingFace organization.","type":"string"},"url":{"description":"URL of the HuggingFace organization page.","type":"string"}},"type":"object"},"v1IOCReviewStatus":{"default":"IOC_REVIEW_STATUS_UNSPECIFIED","description":"IOCReviewStatus records who established the IoC status, independent of what\nthat status is. Automated short-circuit decisions require human_reviewed.\n\n - IOC_REVIEW_STATUS_UNSPECIFIED: No review stage has been set.\n - IOC_REVIEW_STATUS_PENDING_REVIEW: Newly ingested; no reviewer has looked at it yet.\n - IOC_REVIEW_STATUS_AUTO_REVIEWED: Set by an automated classifier or enrichment source.\n - IOC_REVIEW_STATUS_HUMAN_REVIEWED: Set by a human researcher.","enum":["IOC_REVIEW_STATUS_UNSPECIFIED","IOC_REVIEW_STATUS_PENDING_REVIEW","IOC_REVIEW_STATUS_AUTO_REVIEWED","IOC_REVIEW_STATUS_HUMAN_REVIEWED"],"type":"string"},"v1IOCStatus":{"default":"IOC_STATUS_UNSPECIFIED","description":"IOCStatus represents the confirmation status of an IoC.","enum":["IOC_STATUS_UNSPECIFIED","IOC_STATUS_MALICIOUS","IOC_STATUS_BENIGN","IOC_STATUS_UNKNOWN","IOC_STATUS_SUSPICIOUS"],"type":"string"},"v1IOCType":{"default":"IOC_TYPE_UNSPECIFIED","description":"IOCType classifies the type of Indicator of Compromise.","enum":["IOC_TYPE_UNSPECIFIED","IOC_TYPE_URL","IOC_TYPE_IP","IOC_TYPE_DOMAIN","IOC_TYPE_FILENAME","IOC_TYPE_FILEPATH","IOC_TYPE_DIGEST_SHA1","IOC_TYPE_DIGEST_SHA256","IOC_TYPE_DIGEST_SHA512","IOC_TYPE_DIGEST_MD5","IOC_TYPE_WALLET_ADDRESS","IOC_TYPE_REGISTRY_ACCOUNT_NAME","IOC_TYPE_REGISTRY_ACCOUNT_EMAIL","IOC_TYPE_DEPENDENCY"],"type":"string"},"v1IPAddressPolicy":{"description":"An IPAddressPolicy creates a restriction on which IP address subnets can\naccess a tenant.\nNote that only one IP address policy is allowed per tenant and IP address\npolicies cannot be declared in child namespaces.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.\nIt should be set to true for most use cases.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IPAddressPolicySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the ip address policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1IPAddressPolicySpec":{"properties":{"allowed_ip_subnets":{"description":"The list of allowed IP subnets from where traffic should be\nallowed.","items":{"type":"string"},"type":"array"}},"required":["allowed_ip_subnets"],"type":"object"},"v1IdentityProvider":{"description":"Represents an identity provider.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1IdentityProviderSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an identify provider.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1IdentityProviderSpec":{"properties":{"oidc_provider":{"$ref":"#/components/schemas/IdentityProviderOIDCProvider"},"saml_provider":{"$ref":"#/components/schemas/v1SAMLProvider"}},"type":"object"},"v1ImportedRuleSet":{"description":"ImportedRuleSet represents a request to import a set of rules.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ImportedRuleSetSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ImportedRuleSetSpec":{"description":"The internal specification of the object.","properties":{"bytes":{"description":"A file has been used as a source.","format":"byte","type":"string"},"opengrep_validate":{"description":"Validate this import request with opengrep.","type":"boolean"},"result":{"$ref":"#/components/schemas/SpecImportedRuleSetResult"},"rule_source_type":{"$ref":"#/components/schemas/v1RuleSourceType"},"rule_type":{"$ref":"#/components/schemas/v1RuleType"},"sha256_hash":{"description":"The SHA256 checksum if applicable (e.g, file).","readOnly":true,"type":"string"},"version":{"description":"The version for this rule set. All rules in the set will be created with this version.","type":"string"}},"required":["rule_type"],"type":"object"},"v1ImportedSBOM":{"description":"ImportedSBOM represents an SBOM that has been imported.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ImportedSBOMSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"title":"The UUID of the SBOM","type":"string"}},"required":["meta","context"],"type":"object"},"v1ImportedSBOMSpec":{"description":"The internal specification of the object.","properties":{"cyclone_dx":{"description":"CycloneDX is the cyclonedx bom struct serialized to a string.","type":"string"},"cyclone_dx_bytes":{"description":"CycloneDX bom struct encoded in zstd bytes.","format":"byte","type":"string"},"identifier":{"description":"The unique identifer of the component of a SBOM.\nFor example, a CycloneDX SBOM will have metadata.component.bom-ref as the identifier of the main component.","readOnly":true,"type":"string"},"kind":{"$ref":"#/components/schemas/v1SBOMKind"},"main_component_purl":{"description":"The PURL of the main component of a SBOM.","readOnly":true,"type":"string"},"spdx":{"description":"SPDX is the spdx bom struct serialized to a string.","type":"string"},"spdx_bytes":{"description":"SPDX bom struct encoded in zstd bytes.","format":"byte","type":"string"},"supplier_name":{"description":"The suplier name of the imported SBOM.","readOnly":true,"type":"string"},"version":{"description":"The version of the imported SBOM.","format":"int32","readOnly":true,"type":"integer"}},"required":["kind"],"type":"object"},"v1IndexData":{"description":"IndexData is used to index the resource for search. It's an internal\nobject.","properties":{"data":{"items":{"type":"string"},"readOnly":true,"type":"array"},"search_score":{"description":"search_score is the score of the resource for search. Internal use only.","format":"float","readOnly":true,"type":"number"},"tenant":{"readOnly":true,"type":"string"},"will_be_deleted_at":{"description":"Time that the resource will be deleted.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"v1IngestedObject":{"description":"Raw ingested object from a 3rd party source,\nalong with any additional metadata we want\nto add to the object.","properties":{"ingestion_time":{"description":"Time the object was last ingested.","format":"date-time","type":"string"},"raw":{"description":"Generic representation of the object.","type":"object"},"status":{"$ref":"#/components/schemas/IngestedObjectIngestedObjectStatus"}},"required":["raw","ingestion_time","status"],"type":"object"},"v1IngestionState":{"description":"IngestionState represents the state of data ingestion for cross-cluster communication.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1IngestionStateSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the ingestion state.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1IngestionStateSpec":{"properties":{"last_malware_ingestion_time":{"description":"Timestamp of the last successful malware ingestion (updated by malware ingestor).","format":"date-time","type":"string"},"last_vuln_ingestion_time":{"description":"Timestamp of the last successful vulnerability ingestion (updated by vuln ingestor).","format":"date-time","type":"string"}},"type":"object"},"v1Installation":{"description":"Installation represents an installation request in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1InstallationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the installation.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"v1InstallationSpec":{"properties":{"azure_config":{"$ref":"#/components/schemas/v1AzureConfig"},"bitbucket_config":{"$ref":"#/components/schemas/v1BitBucketConfig"},"cleanup_stale_namespaces":{"description":"Indicates whether stale managed namespaces that no longer correspond\nto groups or projects in the SCM should be automatically deleted\nduring installation reconciliation. Default value is false.","type":"boolean"},"enabled_features":{"items":{"$ref":"#/components/schemas/SpecEnabledFeatureType"},"title":"Enabled features. The valid values are \"git, github\"","type":"array"},"exclude_project_regexes":{"description":"exclude_project_regexes is a list of RE2 regular expression patterns used\nto exclude repositories from ingestion during SCM integration\nreconciliation. A repository is excluded if its name (leaf name only, not\nthe full URL or path) matches any pattern in this list. Matching is\ncase-sensitive. An empty list means no filtering is applied. Supports a\nmaximum of 20 patterns.","items":{"type":"string"},"type":"array"},"external_id":{"description":"The external ID of the installation.","type":"string"},"external_name":{"description":"The external name of the installation.","readOnly":true,"type":"string"},"github_config":{"$ref":"#/components/schemas/v1GitHubConfig"},"gitlab_config":{"$ref":"#/components/schemas/v1GitLabConfig"},"huggingface_config":{"$ref":"#/components/schemas/v1HuggingFaceConfig"},"include_archived_repos":{"description":"include_archived_repos is a boolean value that indicates if the archived\nrepos should be included. Default will be off.","type":"boolean"},"ingestion_time":{"description":"The last time that we ingested the installation data.","format":"date-time","readOnly":true,"type":"string"},"ingestion_token":{"description":"The API token that the scanner can use for scanning installation\nrelated information. If it is empty, the scanner will use local\nauthentication information.","readOnly":true,"type":"string"},"installation_error_message":{"description":"Message explaining why the installation is invalid.\nThis field is populated when invalid is true.","type":"string"},"invalid":{"description":"Identifies the installations that are in the system,\nbut potentially their corresponding configuration has been removed\nfrom GitHub and thus we cannot authenticate. In this case,\nwe stop trying to re-sync with this installation.","type":"boolean"},"login":{"description":"The login of the account taken directly from the GitHub response\nVS spec.user, which is inferred from the identity token in the request\ncontext.","type":"string"},"marked_for_deletion":{"description":"Indicates the installation is marked for deletion,\nand in next sync call the installation with its related data will be\ndeleted.","type":"boolean"},"platform_source":{"$ref":"#/components/schemas/SpecPlatformSourceType"},"platform_type":{"$ref":"#/components/schemas/v1PlatformSource"},"project_uuids":{"description":"The list of projects that are associated with this installation.","items":{"type":"string"},"type":"array"},"public":{"description":"Apply only to public repositories. Default value is false.","type":"boolean"},"scm_app_uuid":{"description":"The UUID of the SCM app being installed.","type":"string"},"suspended":{"description":"Indicates if the installation is suspended.","type":"boolean"},"target_type":{"description":"The target of the installation (Organization or User).","readOnly":true,"type":"string"},"user":{"description":"The user name of the user that initiated the installation.\nRefers back to the GitHub user name.","readOnly":true,"type":"string"}},"type":"object"},"v1InternalToolHook":{"description":"InternalToolHook contains payload for internal tool-related hooks.","properties":{"tool_input":{"description":"Tool invocation input; structure is tool-specific (use Struct for JSON).","type":"object"},"tool_name":{"description":"Name of the tool (e.g. \"Bash\", \"Glob\", \"AskUserQuestion\", \"Skill\").","type":"string"},"tool_response":{"description":"Tool result; structure is tool-specific (e.g. stdout/stderr or filenames).","type":"object"}},"type":"object"},"v1InventoryAdminClassification":{"description":"InventoryAdminClassification carries the allow/block axis plus evidence.\nWithin a single event, when multiple matching policies disagree, the\nstronger value wins (BLOCKED dominates ALLOWED dominates UNSPECIFIED).\nAcross events, the current policy set is authoritative: a later event\nthat no longer matches any classification policy leaves the field\nuntouched, but a later event matching a different policy reclassifies\nthe record accordingly.","properties":{"evidence":{"$ref":"#/components/schemas/v1InventoryClassificationEvidence"},"value":{"$ref":"#/components/schemas/InventoryAdminClassificationAdminLevel"}},"type":"object"},"v1InventoryClassification":{"default":"INVENTORY_CLASSIFICATION_UNSPECIFIED","description":"InventoryClassification declares the classification a policy assigns to a\nmatched MCP server or skill when it fires. UNSPECIFIED means the policy\nplays no role in inventory classification (e.g. a session, file-access,\nor cmd-line policy, or an MCP/skill policy whose author only wants the\nper-event action).","enum":["INVENTORY_CLASSIFICATION_UNSPECIFIED","INVENTORY_CLASSIFICATION_ALLOW","INVENTORY_CLASSIFICATION_BLOCK","INVENTORY_CLASSIFICATION_SUSPICIOUS","INVENTORY_CLASSIFICATION_MALICIOUS"],"type":"string"},"v1InventoryClassificationEvidence":{"description":"InventoryClassificationEvidence records the policy that assigned the\ncurrent value on a single classification axis. Snapshotted from the\nmatching AgentHookPolicy so the inventory record remains self-describing\nafter the policy is renamed or deleted.","properties":{"policy_name":{"description":"Policy name at the time of match (snapshot — not refreshed later).","type":"string"}},"type":"object"},"v1InventoryThreatClassification":{"description":"InventoryThreatClassification carries the suspicious/malicious axis plus\nevidence. Within a single event, when multiple matching policies disagree,\nthe stronger value wins (MALICIOUS dominates SUSPICIOUS dominates\nUNSPECIFIED). Across events, the current policy set is authoritative:\nsee InventoryAdminClassification for the full semantics.","properties":{"evidence":{"$ref":"#/components/schemas/v1InventoryClassificationEvidence"},"value":{"$ref":"#/components/schemas/InventoryThreatClassificationThreatLevel"}},"type":"object"},"v1InventoryType":{"default":"INVENTORY_TYPE_UNSPECIFIED","description":"InventoryType discriminates agent, model, MCP server, skill, and AI tool inventory in the unified collection.","enum":["INVENTORY_TYPE_UNSPECIFIED","INVENTORY_TYPE_AGENT","INVENTORY_TYPE_MODEL","INVENTORY_TYPE_MCP_SERVER","INVENTORY_TYPE_SKILL","INVENTORY_TYPE_AI_TOOL"],"type":"string"},"v1Invitation":{"description":"Invitation represents an invitation for a new user in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1InvitationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the invitation.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1InvitationSpec":{"properties":{"invitation_state":{"$ref":"#/components/schemas/SpecInvitationState"},"user_email":{"description":"The email of the user that we want to invite to the tenant.","type":"string"}},"required":["user_email"],"type":"object"},"v1JIRAConfig":{"properties":{"api_key":{"description":"The API Key to authenticate with Jira.","type":"string"},"bearer_token":{"description":"The bearer token to authenticate with Jira.","type":"string"},"cloud_id":{"description":"The Jira Cloud ID required to route API requests through the Atlassian API gateway.","readOnly":true,"type":"string"},"components":{"description":"The Components field in Jira board.","items":{"type":"string"},"type":"array"},"custom_fields":{"items":{"$ref":"#/components/schemas/JIRAConfigCustomField"},"title":"user defined custom fields","type":"array"},"issue_type":{"$ref":"#/components/schemas/JIRAConfigJiraIssueType"},"jira_child_issue_type":{"description":"Child issue type used for dependency aggregation. Optional.\nDefaults to the project's sub-task type when unset.","type":"string"},"jira_issue_type":{"type":"string"},"labels":{"description":"The labels to apply to the Jira issue.","items":{"type":"string"},"type":"array"},"project_key":{"description":"The project key in which the Jira issue is raised as an action for the notification.","type":"string"},"resolve_state":{"description":"The final ticket status after resolving.","type":"string"},"url":{"description":"The Jira endpoint.","type":"string"},"use_bearer_token":{"description":"Denotes if we should use bearer token to authenticate with Jira.","type":"boolean"},"user_name":{"description":"The user name to authenticate with Jira.","type":"string"}},"required":["url","project_key","labels"],"type":"object"},"v1JVMClassMetadata":{"description":"JVMClassMetadata contains metadata such as file sha, name, gav of oss library for a jvm class file.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1JVMClassMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the jvm class metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1JVMClassMetadataSpec":{"properties":{"file_name":{"description":"Name of java class file.\nThis would be the fully qualified class name, such as org.slf4j.ILoggerFactory.","type":"string"},"gav":{"description":"Open source library that contains this class file, in endor ecosystem name format.\neg for org.slf4j.ILoggerFactory, this value would be mvn://org.slf4j:slf4j-api@1.7.","type":"string"},"is_original_sha":{"description":"True indicates if the class file sha value is the original class's sha value.\nFalse indicates the sha value would be for a class that is remapped, i.e namespace wiped off.","type":"boolean"},"is_rebundled":{"description":"True indicates if the class file is a dependency class file which has been rebundled within this package.","type":"boolean"},"last_modified_time":{"description":"time when artifact was published.","format":"date-time","type":"string"}},"required":["file_name","gav","is_original_sha"],"type":"object"},"v1JVMSourceMeta":{"description":"Contains metadata information about source code for a Java package.","properties":{"classes":{"description":"List of classes in the Java package.","items":{"$ref":"#/components/schemas/v1Class"},"type":"array"},"import_statements":{"description":"List of external classes referenced in the Java package.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1JavaScriptToolChain":{"properties":{"nodejs_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"npm_packages":{"additionalProperties":{"$ref":"#/components/schemas/v1ToolChainVersion"},"type":"object"},"pnpm_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"rush_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"yarn_version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["nodejs_version"],"type":"object"},"v1JavaToolChain":{"properties":{"gradle_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"maven_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1JobSpec":{"properties":{"category":{"$ref":"#/components/schemas/SpecJobCategory"},"end_time":{"description":"End time of the job denotes the time when the job execution is completed.","format":"date-time","type":"string"},"last_heartbeat_time":{"description":"Last Heartbeat time of the job.","format":"date-time","type":"string"},"max_duration":{"description":"Maximum duration of the job. Defaults to 5 minutes.","type":"string"},"max_retries":{"description":"Maximum number of retries for the job. Defaults to 1. Maximum allowed is 5.","format":"int64","type":"integer"},"priority":{"$ref":"#/components/schemas/SpecJobPriority"},"request":{"$ref":"#/components/schemas/googleprotobufAny"},"response":{"$ref":"#/components/schemas/JobSpecJobResponse"},"retention_time":{"description":"Retention time of the job. Defaults to 30 days.\nCannot exceed 1095 days.","format":"int64","type":"integer"},"run_count":{"description":"run count of the job.","format":"int64","type":"integer"},"run_errors_history":{"description":"run errors history of the job. This is maintained\nfor debugging purposes.","items":{"type":"string"},"type":"array"},"source_uuid":{"description":"UUID passed back to the client for which the job is being performed.","type":"string"},"start_time":{"description":"Start time of the job denotes the time when the job is scheduled for execution.","format":"date-time","type":"string"},"state":{"$ref":"#/components/schemas/SpecJobState"},"type":{"$ref":"#/components/schemas/SpecJobType"}},"required":["state","type","request","category"],"type":"object"},"v1LLMContext":{"properties":{"structured_content":{"$ref":"#/components/schemas/LLMContextStructuredContent"},"unstructured_content":{"description":"The unstructured content of the LLM context.","type":"string"}},"type":"object"},"v1Language":{"default":"LANGUAGE_UNSPECIFIED","description":" - LANGUAGE_GOSU: Gosu, a JVM language used by Guidewire applications.","enum":["LANGUAGE_UNSPECIFIED","LANGUAGE_GO","LANGUAGE_JAVA","LANGUAGE_SCALA","LANGUAGE_PYTHON","LANGUAGE_RUST","LANGUAGE_JS","LANGUAGE_RUBY","LANGUAGE_CSHARP","LANGUAGE_PHP","LANGUAGE_TYPESCRIPT","LANGUAGE_KOTLIN","LANGUAGE_SWIFT","LANGUAGE_OBJECTIVEC","LANGUAGE_C","LANGUAGE_CPP","LANGUAGE_SWIFTURL","LANGUAGE_CONAN","LANGUAGE_GOSU"],"type":"string"},"v1Languages":{"description":"The languages used and bytes of code for each language in the source control repository.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"}},"required":["ingested_object"],"type":"object"},"v1LicenseData":{"description":"Contains a summary of license information for a project or package.\nThis will be included as the payload of a metric object.","properties":{"all_licenses":{"description":"All the licenses found by Endor Labs.","items":{"$ref":"#/components/schemas/v1LicenseInfo"},"type":"array"},"code_licenses":{"description":"The licenses found in the source code.","items":{"$ref":"#/components/schemas/v1LicenseInfo"},"type":"array"},"copyrights":{"description":"The list of copyright notices found in source files.","items":{"type":"string"},"type":"array"},"package_manager_licenses":{"description":"The licenses from the package manager.","items":{"$ref":"#/components/schemas/v1LicenseInfo"},"type":"array"},"repository_license":{"$ref":"#/components/schemas/v1LicenseInfo"}},"type":"object"},"v1LicenseDependency":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseDependencySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the license dependency.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1LicenseDependencyMetadata":{"description":"LicenseDependencyMetadata contains license information for a dependency.","properties":{"category":{"description":"License category (e.g. \"Restricted\").","type":"string"},"spdx_id":{"description":"SPDX license identifier (e.g. \"Apache-2.0\").","type":"string"},"type":{"description":"License classification (based on licenseclassifier by Google).","type":"string"}},"type":"object"},"v1LicenseDependencySpec":{"properties":{"category":{"description":"License category.","type":"string"},"declared":{"description":"Whether we classify the license as declared.","type":"boolean"},"license_name":{"description":"Full name of the license.","type":"string"},"osi_approved":{"description":"Indicates if the license is OSI approved.","type":"boolean"},"package_version_uuids":{"description":"Package versions of dependencies with the license.","items":{"type":"string"},"type":"array"},"spdx_id":{"description":"SPDX ID of the license.","type":"string"}},"required":["spdx_id"],"type":"object"},"v1LicenseFileLocation":{"description":"LicenseFileLocation represents the location of a license, copyright, or notice in source files.","properties":{"end_byte":{"description":"The end byte of the license/copyright/notice in the file.","format":"int32","type":"integer"},"end_line":{"description":"The end line of the license/copyright/notice in the file.","format":"int32","type":"integer"},"relative_path":{"description":"The relative path to the file where the license/copyright/notice was found.","type":"string"},"start_byte":{"description":"The start byte of the license/copyright/notice in the file.","format":"int32","type":"integer"},"start_line":{"description":"The start line of the license/copyright/notice in the file.","format":"int32","type":"integer"}},"type":"object"},"v1LicenseInfo":{"description":"LicenseInfo contains information for a license.","properties":{"file":{"description":"The name of the file where the license was found.","type":"string"},"file_location":{"description":"The line in the file where the license text begins.","format":"int32","type":"integer"},"mapping_info":{"$ref":"#/components/schemas/v1LicenseMappingInfo"},"matched_text":{"description":"The license text that was matched.","type":"string"},"name":{"description":"Raw license description as found, for example in package managers.\nIt is free form text that may not contain a valid SPDX ID.","type":"string"},"spdxid":{"description":"Normalized SPDX id if known.","type":"string"},"type":{"description":"License classification (based on licenseclassifier by Google).","type":"string"},"url":{"description":"The URL that points to the license description.","type":"string"}},"required":["name"],"type":"object"},"v1LicenseMappingInfo":{"default":"LICENSE_MAPPING_INFO_UNSPECIFIED","description":"LicenseMappingInfo contains additional information\nthat we determine when we attempt to match a license string\nto a known SPDX id.\n\n - LICENSE_MAPPING_INFO_NOT_OSS: This does not look to like an OSS license.\n - LICENSE_MAPPING_INFO_IN_CODE: License information is to be found in the code.\n - LICENSE_MAPPING_INFO_UNKNOWN: Cannot determine anything about the license.\n - LICENSE_MAPPING_INFO_NOT_INCOMPLETE: There is some license information, but is not detailed enough.\n - LICENSE_MAPPING_INFO_PRIVATE: Appears to be a private package.\n - LICENSE_MAPPING_INFO_EXACT: An exact match to a SPDX id.\n - LICENSE_MAPPING_INFO_UNLICENSED: Seems to be explicitly without license.","enum":["LICENSE_MAPPING_INFO_UNSPECIFIED","LICENSE_MAPPING_INFO_NOT_OSS","LICENSE_MAPPING_INFO_IN_CODE","LICENSE_MAPPING_INFO_UNKNOWN","LICENSE_MAPPING_INFO_NOT_INCOMPLETE","LICENSE_MAPPING_INFO_PRIVATE","LICENSE_MAPPING_INFO_EXACT","LICENSE_MAPPING_INFO_UNLICENSED"],"type":"string"},"v1LicenseNoticesReport":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseNoticesReportSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the license notices report.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"v1LicenseNoticesReportSpec":{"properties":{"contents":{"description":"The contents of the license notices report.","format":"byte","type":"string"},"grouping":{"$ref":"#/components/schemas/LicenseNoticesReportSpecGrouping"},"package_license_edit_uuid":{"description":"Deprecated: not used by current implementations; kept for wire compatibility.","readOnly":true,"type":"string"},"package_version_uuid":{"description":"UUID of the package version for which this report is generated.\nHandlers should use the same propagation/merge semantics as MergedLicenseData\nwhen assembling the effective licenses, copyrights, and notices.","type":"string"},"report_type":{"$ref":"#/components/schemas/LicenseNoticesReportSpecReportType"}},"required":["grouping","report_type","package_version_uuid"],"type":"object"},"v1LicenseSource":{"default":"LICENSE_SOURCE_UNSPECIFIED","description":"Enum to describe the source of  license information.\n\n - LICENSE_SOURCE_UNSPECIFIED: Licesne Source unspecified\n - LICENSE_SOURCE_PKG_MGR_ONLY: License was found only in the package manager metadata,\nbut not in the source code. This may happen if source code is unavailable\nor scanning failed. In this case, spec.license_data contains only package manager license(s).\n - LICENSE_SOURCE_PKG_MGR_AND_CODE: License was found in both the code and the package manager.\nspec.license_data contains all licenses, and the Metric includes the package manager license.\n - LICENSE_SOURCE_CODE_ONLY: License was found only in the code , not in the package manager.\nspec.license_data will not include any package manager license.\n - LICENSE_SOURCE_NOT_FOUND: No license data found anywhere","enum":["LICENSE_SOURCE_UNSPECIFIED","LICENSE_SOURCE_PKG_MGR_ONLY","LICENSE_SOURCE_PKG_MGR_AND_CODE","LICENSE_SOURCE_CODE_ONLY","LICENSE_SOURCE_NOT_FOUND"],"type":"string"},"v1LicenseSpec":{"description":"Specification mostly follows the SPDX data format.","properties":{"additional_info":{"description":"Links to additional information.","items":{"type":"string"},"type":"array"},"category":{"type":"string"},"is_deprecated":{"type":"boolean"},"is_osi_approved":{"type":"boolean"},"license_id":{"type":"string"},"license_name":{"type":"string"},"license_text":{"type":"string"},"short_name":{"type":"string"}},"required":["license_id","license_name","license_text"],"type":"object"},"v1LicenseSummary":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LicenseSummarySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the license summary.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1LicenseSummarySpec":{"properties":{"copyright_count":{"description":"The number of copyrights found in the project dependencies.","format":"int32","type":"integer"},"declared_spdx_ids":{"description":"The declared SPDX IDs per license associated with the project.","items":{"type":"string"},"type":"array"},"notices_count":{"description":"The number of notice files found in the project dependencies.","format":"int32","type":"integer"},"singular_spdx_ids":{"description":"The singular SPDX IDs of all licenses associated with the project.","items":{"type":"string"},"type":"array"},"spdx_ids":{"description":"The SPDX IDs per license associated with the project.\nThis includes declared and discovered licenses.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1LinterCorrectnessAnalysis":{"description":"LinterCorrectnessAnalysis represents an analysis of a linter result.","properties":{"analysis_summary":{"description":"Analysis summary, providing an explanation of the linter result and classification.","type":"string"},"analyzer":{"$ref":"#/components/schemas/v1CorrectnessAnalyzer"},"code_fixes":{"description":"Code fixes are potential fixes to the identified issue.","items":{"$ref":"#/components/schemas/LinterCorrectnessAnalysisCodeFix"},"type":"array"},"code_references":{"description":"Textual description of line references/ fields/variables , etc for the linter result.","type":"string"},"confidence_level":{"$ref":"#/components/schemas/v1AIMetaConfidenceLevel"},"content_hash":{"description":"sha256 over the source spans (finding location + taint dataflow) this analysis\nwas computed against; a mismatch on rescan invalidates the cached verdict and\nforces re-analysis of the result.","type":"string"},"correctness":{"$ref":"#/components/schemas/v1Correctness"},"data_flow":{"description":"Textual Description of the source to sink data flow analysis for the linter result.","items":{"$ref":"#/components/schemas/LinterCorrectnessAnalysisDataFlowNode"},"type":"array"},"description":{"description":"The textual description of the linter correctness analysis.","type":"string"},"risk_assessment":{"description":"Risk assessment for the linter result. Provides False/True positive classifaction and reasoning for the linter result..","type":"string"},"sanitizers":{"description":"The sanitizers used to determine the correctness of the linter result.","items":{"type":"string"},"type":"array"},"security_control":{"description":"Description of any sanitizers, validators, or mitigations found (or lack thereof) for the linter result.","type":"string"},"security_impact":{"description":"Description of the security impact/potential consequences for the linter result.","type":"string"},"symbols":{"description":"Key variables/symbols in the data flow path for the linter result.","type":"string"},"technical_detail":{"description":"Further technical details (eg results about the vulnerability type and exploitation potential) for the linter result.","type":"string"},"version":{"description":"The version of the linter correctness analysis.","type":"string"}},"required":["version","analyzer","correctness","confidence_level"],"type":"object"},"v1LinterResult":{"description":"The meta parent_kind can take one of two values - PackageVersion or RepositoryVersion.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1LinterResultSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a linter result.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1LinterResultInfo":{"description":"A brief summary of linter results.","properties":{"category":{"description":"The category of the result.","type":"string"},"confidence":{"description":"The confidence of the result.","type":"string"},"critical_api_category":{"description":"The critical API category of the result.","type":"string"},"file":{"description":"The file where the result was found.","type":"string"},"likelihood":{"description":"The likelihood of the result.","type":"string"},"line":{"description":"The line in the file where the result was found.","format":"int32","type":"integer"},"match":{"description":"The text that matched.","type":"string"},"rule_id":{"description":"The rule that generated the result.","type":"string"},"severity":{"description":"The severity of the result.","type":"string"},"snippet":{"description":"The source code that triggered the result.","type":"string"},"tags":{"description":"The tags of the result.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1LinterResultSpec":{"properties":{"ai_result":{"$ref":"#/components/schemas/v1AIResult"},"aisast":{"$ref":"#/components/schemas/v1AISastSummary"},"distribution_format":{"$ref":"#/components/schemas/v1DistributionFormatType"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"endor_fingerprint":{"$ref":"#/components/schemas/SpecEndorFingerprint"},"extra_key":{"description":"Additional information that may result in creating a unique linter result.\nIn some cases we may receive multiple results for the same project and the same file and we\nwant to have multiple entries for the same field like parent_uuid, meta.name, and physical_location.\nBy setting different values in this field, we will be able to create a separate result.\nEssentially, we will have a unique entry per field.","type":"string"},"fingerprint_count":{"format":"int64","type":"integer"},"fingerprints":{"description":"The list and count of found fingerprints. The counter is maintained\nto ease the retrieval of these records in the analytics phase.","items":{"type":"string"},"type":"array"},"level":{"$ref":"#/components/schemas/SpecLinterResultLevel"},"linter_correctness_analyses":{"description":"An analysis of the linter result.","items":{"$ref":"#/components/schemas/v1LinterCorrectnessAnalysis"},"type":"array"},"origin":{"$ref":"#/components/schemas/SpecLinterResultOrigin"},"project_uuid":{"description":"The UUID of the project to which this result is related.","type":"string"},"ref":{"description":"The Git reference of the repository version.","type":"string"},"sarif_result":{"$ref":"#/components/schemas/v1SarifResult"},"secret":{"$ref":"#/components/schemas/v1SecretSummary"},"semgrep":{"$ref":"#/components/schemas/v1SemgrepSummary"},"storage_location":{"description":"The storage location of the package related to this linter result.","type":"string"},"suppressed":{"description":"Result was suppressed by semgrep (e.g. because of a \"nosemgrep\" code annotation).","type":"boolean"},"version":{"type":"string"}},"required":["project_uuid","origin","level","extra_key"],"type":"object"},"v1LinterStats":{"description":"The linter statistics message. Included as the payload of a metric object.","properties":{"distinct_file_types_with_results":{"description":"The count of distinct file types with results.","format":"int32","type":"integer"},"distinct_rules_with_results":{"description":"The count of distint rules with results.","format":"int32","type":"integer"},"file_cnt_by_category":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count per category.","type":"object"},"file_cnt_by_critical_api_category":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count per critical API category.","type":"object"},"file_cnt_by_file_type":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count per file type.","type":"object"},"file_cnt_by_rule":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count per rule.","type":"object"},"file_cnt_by_severity":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count per severity level.","type":"object"},"files_with_result_count":{"description":"The number of files with results.","format":"int32","type":"integer"},"finding_results":{"description":"A list of the results that are marked with ANALYTICS_FINDING, which results\nin raising findings.","items":{"$ref":"#/components/schemas/v1LinterResultInfo"},"type":"array"},"result_count":{"description":"The number of linter results.","format":"int32","type":"integer"},"results":{"description":"A list of all the linter results.","items":{"$ref":"#/components/schemas/v1LinterResultInfo"},"type":"array"},"results_cnt_by_category":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count per category.","type":"object"},"results_cnt_by_critical_api_category":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count per critical API category.","type":"object"},"results_cnt_by_file_type":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count per file type.","type":"object"},"results_cnt_by_rule":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count per rule.","type":"object"},"results_cnt_by_severity":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count per severity level.","type":"object"},"results_per_filecnt_ratio_by_file_type":{"additionalProperties":{"format":"float","type":"number"},"description":"The ratio of result count/file count per file type.","type":"object"},"results_per_filecnt_ratio_by_severity":{"additionalProperties":{"format":"float","type":"number"},"description":"The ratio of result count/file count per severity level.","type":"object"},"results_per_loc_ratio_by_file_type":{"additionalProperties":{"format":"float","type":"number"},"description":"The ratio of result count/LOC per severity per file type.","type":"object"},"results_per_loc_ratio_by_severity":{"additionalProperties":{"format":"float","type":"number"},"description":"The ratio of result count/LOC per severity level.","type":"object"}},"type":"object"},"v1ListAICreditMetricsResponse":{"description":"Response to the request to list AICreditMetric.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAICreditMetricsResponseList"}},"type":"object"},"v1ListAICreditMetricsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AICreditMetric"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAIProviderKeysResponse":{"description":"Response returned for requests to list AI provider keys.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAIProviderKeysResponseList"}},"type":"object"},"v1ListAIProviderKeysResponseList":{"description":"List of AI provider keys.","properties":{"objects":{"description":"List of AI provider keys.","items":{"$ref":"#/components/schemas/v1AIProviderKey"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAIRequestsResponse":{"description":"Response to the request to list AIRequests.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAIRequestsResponseList"}},"type":"object"},"v1ListAIRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AIRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAISASTScanCachesResponse":{"description":"Response returned for requests to list AI SAST scan cache entries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAISASTScanCachesResponseList"}},"type":"object"},"v1ListAISASTScanCachesResponseList":{"description":"List of scan cache entries.","properties":{"objects":{"description":"Scan cache entries matching the query.","items":{"$ref":"#/components/schemas/v1AISASTScanCache"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAISastContextSummariesResponse":{"description":"List response for AI SAST context summaries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAISastContextSummariesResponseList"}},"type":"object"},"v1ListAISastContextSummariesResponseList":{"description":"List payload.","properties":{"objects":{"description":"Context summaries matching the query.","items":{"$ref":"#/components/schemas/v1AISastContextSummary"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAISastCustomerContextsResponse":{"description":"List response for AI SAST customer contexts.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAISastCustomerContextsResponseList"}},"type":"object"},"v1ListAISastCustomerContextsResponseList":{"description":"List payload.","properties":{"objects":{"description":"Customer contexts matching the query.","items":{"$ref":"#/components/schemas/v1AISastCustomerContext"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAPIKeysResponse":{"description":"Response to the request to list API keys.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAPIKeysResponseList"}},"type":"object"},"v1ListAPIKeysResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1APIKey"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentActivityResponse":{"description":"ListAgentActivityResponse is served at\nGET /v1/namespaces/{tenant_meta.namespace}/agent-telemetry/activity.","properties":{"agents":{"description":"One entry per agent that has activity in the window. Empty is valid.","items":{"$ref":"#/components/schemas/v1AgentActivity"},"type":"array"},"generated_at":{"description":"When the backend assembled this snapshot.","format":"date-time","type":"string"},"schema_version":{"description":"Schema version of this response envelope. Additive AgentActivity fields do\nnot bump it; protobuf unknown-field preservation handles forward-compat.","type":"string"},"stale":{"description":"True when served from a degraded/stale snapshot.","type":"boolean"},"window_days":{"description":"The look-back window the counts cover.","format":"int32","type":"integer"}},"type":"object"},"v1ListAgentAuditLogsResponse":{"description":"Response to request to list agent audit logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentAuditLogsResponseList"}},"type":"object"},"v1ListAgentAuditLogsResponseList":{"description":"A page of agent audit logs.","properties":{"objects":{"description":"The agent audit logs in this page.","items":{"$ref":"#/components/schemas/v1AgentAuditLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentCallsResponse":{"description":"ListAgentCallsResponse is served at\nGET /v1/namespaces/{tenant_meta.namespace}/agent-telemetry/agents/{agent_id}/calls.\n\nCursor-only pagination: there is intentionally NO exact `total`. An exact\nCOUNT over a filtered event scan is a per-open cost trap with no product\nvalue; this surface returns recent calls, not a precise count. The\npre-aggregated per-agent count is AgentActivity.calls. More pages remain when\nnext_page_token is non-empty; it is an opaque keyset cursor, never an offset.","properties":{"agent_id":{"description":"Echo of the requested agent id.","type":"string"},"agent_identity":{"description":"The agent's {name}@{version} identity; unset for an unregistered agent.","type":"string"},"calls":{"description":"The calls, newest first.","items":{"$ref":"#/components/schemas/v1AgentCall"},"type":"array"},"next_page_token":{"description":"Opaque keyset cursor; empty when there are no more pages.","type":"string"},"schema_version":{"description":"Schema version of this response envelope.","type":"string"}},"type":"object"},"v1ListAgentConfigsResponse":{"description":"Response to the request to list CI runs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentConfigsResponseList"}},"type":"object"},"v1ListAgentConfigsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentDirectoryEntriesResponse":{"description":"Response to the request to list AgentDirectoryEntries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentDirectoryEntriesResponseList"}},"type":"object"},"v1ListAgentDirectoryEntriesResponseList":{"description":"List wraps the returned AgentDirectoryEntries and the list response metadata.","properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentDirectoryEntry"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentHookEventsResponse":{"description":"Response to the request to list agent hook events.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentHookEventsResponseList"}},"type":"object"},"v1ListAgentHookEventsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentHookEvent"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentHookPolicyDefinitionsResponse":{"description":"Response to the request to list agent hook policy definitions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentHookPolicyDefinitionsResponseList"}},"type":"object"},"v1ListAgentHookPolicyDefinitionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinition"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentSessionsResponse":{"description":"Response to the request to list CI runs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentSessionsResponseList"}},"type":"object"},"v1ListAgentSessionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentSession"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentToolsResponse":{"description":"Response to the request for AgentTools. .","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentToolsResponseList"}},"type":"object"},"v1ListAgentToolsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentTool"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgentWorkflowsResponse":{"description":"Response to the request to list AgentWorkflows.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgentWorkflowsResponseList"}},"type":"object"},"v1ListAgentWorkflowsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgentWorkflow"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgenticAggregateResponse":{"description":"ListAgenticAggregateResponse wraps the result of a list operation.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgenticAggregateResponseList"}},"type":"object"},"v1ListAgenticAggregateResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgenticAggregate"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAgenticInventoryResponse":{"description":"Response to list agentic inventory records.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAgenticInventoryResponseList"}},"type":"object"},"v1ListAgenticInventoryResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AgenticInventory"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAnalyticsExecutionRecordResponse":{"description":"Response returned for requests to list analytics execution records.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAnalyticsExecutionRecordResponseList"}},"type":"object"},"v1ListAnalyticsExecutionRecordResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecord"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListApproveServiceRequestsResponse":{"description":"Respponse to request to return all the approval requests for a given namespace.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListApproveServiceRequestsResponseList"}},"type":"object"},"v1ListApproveServiceRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ApproveServiceRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListArtifactLogsResponse":{"description":"Response returned for requests to list artifact logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListArtifactLogsResponseList"}},"type":"object"},"v1ListArtifactLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ArtifactLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListArtifactSignaturesResponse":{"description":"Response to the request to list all artifact signatures.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListArtifactSignaturesResponseList"}},"type":"object"},"v1ListArtifactSignaturesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ArtifactSignature"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAssuredPackageVersionsResponse":{"description":"Response for the request to list assured package versions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAssuredPackageVersionsResponseList"}},"type":"object"},"v1ListAssuredPackageVersionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AssuredPackageVersion"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAuditLogsResponse":{"description":"Response to request to list audit logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAuditLogsResponseList"}},"type":"object"},"v1ListAuditLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AuditLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAuthenticationLogsResponse":{"description":"Response to the request to list authentication logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAuthenticationLogsResponseList"}},"type":"object"},"v1ListAuthenticationLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AuthenticationLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListAuthorizationPoliciesResponse":{"description":"Response to the request to list all authorization policies for a given\ntenant.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListAuthorizationPoliciesResponseList"}},"type":"object"},"v1ListAuthorizationPoliciesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1AuthorizationPolicy"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListCIRunsResponse":{"description":"Response to the request to list CI runs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListCIRunsResponseList"}},"type":"object"},"v1ListCIRunsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1CIRun"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListCallGraphDataResponse":{"description":"Response to the request to list call graph data.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListCallGraphDataResponseList"}},"type":"object"},"v1ListCallGraphDataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1CallGraphData"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListCodeOwnersResponse":{"description":"Response to the request to list CodeOwners objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListCodeOwnersResponseList"}},"type":"object"},"v1ListCodeOwnersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1CodeOwners"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListComplianceEnrollmentsResponse":{"description":"Response to the request to list ComplianceEnrollments.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListComplianceEnrollmentsResponseList"}},"type":"object"},"v1ListComplianceEnrollmentsResponseList":{"description":"List wraps the returned ComplianceEnrollments and the list response metadata.","properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ComplianceEnrollment"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListContributorHistoryResponse":{"description":"Response returned for requests to list contributor history.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListContributorHistoryResponseList"}},"type":"object"},"v1ListContributorHistoryResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ContributorHistory"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListContributorIdentityMappingsResponse":{"description":"Response returned for requests to list contributor identity mappings.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListContributorIdentityMappingsResponseList"}},"type":"object"},"v1ListContributorIdentityMappingsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ContributorIdentityMapping"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListContributorsResponse":{"description":"Response returned for requests to list contributors.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListContributorsResponseList"}},"type":"object"},"v1ListContributorsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Contributor"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListDashboardConfigResponse":{"description":"Response to the request to list dashboard configuration objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListDashboardConfigResponseList"}},"type":"object"},"v1ListDashboardConfigResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1DashboardConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListDemosResponse":{"description":"Response to the request to list namespaces.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListDemosResponseList"}},"type":"object"},"v1ListDemosResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Demo"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListDependencyMetadataResponse":{"description":"Response returned for requests to list dependency metadata objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListDependencyMetadataResponseList"}},"type":"object"},"v1ListDependencyMetadataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1DependencyMetadata"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListDepsDevPackageResponse":{"description":"Response returned for requests to list DepsDevPackage objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListDepsDevPackageResponseList"}},"type":"object"},"v1ListDepsDevPackageResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1DepsDevPackage"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListDistinctEntryResponse":{"description":"ListDistinctEntryResponse lists DistinctEntry records.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListDistinctEntryResponseList"}},"type":"object"},"v1ListDistinctEntryResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1DistinctEntry"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListEndorAgentsResponse":{"description":"ListEndorAgentsResponse is served at GET /v1/namespaces/{namespace}/agents.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListEndorAgentsResponseList"}},"type":"object"},"v1ListEndorAgentsResponseList":{"description":"List of agents.","properties":{"objects":{"description":"The agents.","items":{"$ref":"#/components/schemas/v1EndorAgent"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListEndorIgnoreEntriesResponse":{"description":"Response to the request to list EndorIgnoreEntry objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListEndorIgnoreEntriesResponseList"}},"type":"object"},"v1ListEndorIgnoreEntriesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1EndorIgnoreEntry"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListEndorLicensesResponse":{"description":"Response to the request to list Endor Labs licenses.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListEndorLicensesResponseList"}},"type":"object"},"v1ListEndorLicensesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1EndorLicense"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListErrorParsingRulesResponse":{"description":"Response returned for requests to list error parsing rules.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListErrorParsingRulesResponseList"}},"type":"object"},"v1ListErrorParsingRulesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ErrorParsingRule"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListEvaluationMethodsResponse":{"description":"Response to the request to list all evaluation methods.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListEvaluationMethodsResponseList"}},"type":"object"},"v1ListEvaluationMethodsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1EvaluationMethod"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListEvaluationParametersResponse":{"description":"ListEvaluationParametersResponse is used by ListEvaluationParameterss.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListEvaluationParametersResponseList"}},"type":"object"},"v1ListEvaluationParametersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1EvaluationParameter"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListExportersResponse":{"description":"Response returned for requests to list exporters.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListExportersResponseList"}},"type":"object"},"v1ListExportersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Exporter"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListExternalProviderModelsResponse":{"description":"Response to the request to list external provider models.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListExternalProviderModelsResponseList"}},"type":"object"},"v1ListExternalProviderModelsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ExternalProviderModel"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFeedbacksResponse":{"description":"Response returned for requests to list feedbacks.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFeedbacksResponseList"}},"type":"object"},"v1ListFeedbacksResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Feedback"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFileSegmentsResponse":{"description":"Response returned for requests to list file segments.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFileSegmentsResponseList"}},"type":"object"},"v1ListFileSegmentsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1FileSegments"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFindingLogAggregateResponse":{"description":"Response returned for requests to list finding log aggregates.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFindingLogAggregateResponseList"}},"type":"object"},"v1ListFindingLogAggregateResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1FindingLogAggregate"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFindingLogsResponse":{"description":"Response returned for requests to list finding logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFindingLogsResponseList"}},"type":"object"},"v1ListFindingLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1FindingLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFindingsResponse":{"description":"Response returned for requests to list findings.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFindingsResponseList"}},"type":"object"},"v1ListFindingsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Finding"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListFunctionGraphDataResponse":{"description":"Response to the request to list function graph data.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListFunctionGraphDataResponseList"}},"type":"object"},"v1ListFunctionGraphDataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1FunctionGraphData"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListGithubTokensResponse":{"description":"Response to the request to return all available GitHub tokens.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListGithubTokensResponseList"}},"type":"object"},"v1ListGithubTokensResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1GithubToken"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListHuggingFaceModelsResponse":{"description":"Response to the request to list HuggingFace models.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListHuggingFaceModelsResponseList"}},"type":"object"},"v1ListHuggingFaceModelsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1HuggingFaceModel"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListHuggingFaceOrganizationsResponse":{"description":"Response to the request to list HuggingFace organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListHuggingFaceOrganizationsResponseList"}},"type":"object"},"v1ListHuggingFaceOrganizationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1HuggingFaceOrganization"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListIPAddressPoliciesResponse":{"description":"Response returned for requests to list ip address policies.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListIPAddressPoliciesResponseList"}},"type":"object"},"v1ListIPAddressPoliciesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1IPAddressPolicy"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListIdentityProvidersResponse":{"description":"Response to the request to list identity providers.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListIdentityProvidersResponseList"}},"type":"object"},"v1ListIdentityProvidersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1IdentityProvider"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListIngestionStateResponse":{"description":"Response to request to list ingestion state.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListIngestionStateResponseList"}},"type":"object"},"v1ListIngestionStateResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1IngestionState"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListInstallationsResponse":{"description":"Response to the request to list installations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListInstallationsResponseList"}},"type":"object"},"v1ListInstallationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Installation"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListInvitationsResponse":{"description":"Response to the request to list invitations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListInvitationsResponseList"}},"type":"object"},"v1ListInvitationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Invitation"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListJVMClassMetadataResponse":{"description":"Response to the request to list jvm class metadata.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListJVMClassMetadataResponseList"}},"type":"object"},"v1ListJVMClassMetadataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1JVMClassMetadata"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListJobsResponse":{"description":"Response returned for requests to list jobs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListJobsResponseList"}},"type":"object"},"v1ListJobsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/endorv1Job"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListLicenseDependenciesResponse":{"description":"Response to list all the license dependencies.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListLicenseDependenciesResponseList"}},"type":"object"},"v1ListLicenseDependenciesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1LicenseDependency"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListLicenseResponse":{"description":"Response to the request to list licenses.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListLicenseResponseList"}},"type":"object"},"v1ListLicenseResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/endorv1License"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListLicenseSummariesResponse":{"description":"Response to list all the license summaries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListLicenseSummariesResponseList"}},"type":"object"},"v1ListLicenseSummariesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1LicenseSummary"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListLinterResultsResponse":{"description":"Response to the request to list linter results.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListLinterResultsResponseList"}},"type":"object"},"v1ListLinterResultsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1LinterResult"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMCPServerLogsResponse":{"description":"Response to the request to list MCP server logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMCPServerLogsResponseList"}},"type":"object"},"v1ListMCPServerLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MCPServerLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionAnalysisTasksResponse":{"description":"Response to list malware detection analysis tasks.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionAnalysisTasksResponseList"}},"type":"object"},"v1ListMalwareDetectionAnalysisTasksResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTask"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionArtifactDownloadStatusResponse":{"description":"Response to list malware detection artifact download status.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionArtifactDownloadStatusResponseList"}},"type":"object"},"v1ListMalwareDetectionArtifactDownloadStatusResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatus"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionAssessmentsResponse":{"description":"Response to list malware detection assessments.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionAssessmentsResponseList"}},"type":"object"},"v1ListMalwareDetectionAssessmentsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionAssessment"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionIoCsResponse":{"description":"Response to list malware detection IoCs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionIoCsResponseList"}},"type":"object"},"v1ListMalwareDetectionIoCsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionIoC"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionPackageIoCsResponse":{"description":"Response to list malware detection package-IoC relationships.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionPackageIoCsResponseList"}},"type":"object"},"v1ListMalwareDetectionPackageIoCsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoC"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionPackagesResponse":{"description":"Response to list malware detection packages.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionPackagesResponseList"}},"type":"object"},"v1ListMalwareDetectionPackagesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MalwareDetectionPackage"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareDetectionWorkflowsResponse":{"description":"Response returned for requests to list malware detection workflows.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareDetectionWorkflowsResponseList"}},"type":"object"},"v1ListMalwareDetectionWorkflowsResponseList":{"description":"List of malware detection workflows.","properties":{"objects":{"description":"Malware detection workflow records.","items":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflow"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareExposureResponse":{"description":"Response to the request to list MalwareExposure objects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareExposureResponseList"}},"type":"object"},"v1ListMalwareExposureResponseList":{"description":"List response containing a list of MalwareExposure objects.","properties":{"objects":{"description":"List of MalwareExposure objects.","items":{"$ref":"#/components/schemas/v1MalwareExposure"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMalwareResponse":{"description":"Response to the request to list malware.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMalwareResponseList"}},"type":"object"},"v1ListMalwareResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Malware"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMetricConfigurationsResponse":{"description":"Response to the request to list metric configurations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMetricConfigurationsResponseList"}},"type":"object"},"v1ListMetricConfigurationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1MetricConfiguration"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListMetricsResponse":{"description":"Response to the request to retrieve the metrics.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListMetricsResponseList"}},"type":"object"},"v1ListMetricsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/endorv1Metric"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListNamespacesResponse":{"description":"Response to the request to list namespaces.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListNamespacesResponseList"}},"type":"object"},"v1ListNamespacesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Namespace"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListNotificationTargetsResponse":{"description":"Response returned for requests to list notification targets.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListNotificationTargetsResponseList"}},"type":"object"},"v1ListNotificationTargetsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1NotificationTarget"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListNotificationsResponse":{"description":"Response returned for requests to list notifications.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListNotificationsResponseList"}},"type":"object"},"v1ListNotificationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Notification"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOnPremSchedulersResponse":{"description":"ListOnPremSchedulersResponse is used by ListOnPremSchedulers.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOnPremSchedulersResponseList"}},"type":"object"},"v1ListOnPremSchedulersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OnPremScheduler"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationAllowedWorkflowsResponse":{"description":"Response returned for the request to list all update allowed workflows object of an organization.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationAllowedWorkflowsResponseList"}},"type":"object"},"v1ListOrganizationAllowedWorkflowsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflows"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationBlockListsResponse":{"description":"Response returned for the request to list the block lists of organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationBlockListsResponseList"}},"type":"object"},"v1ListOrganizationBlockListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationBlockList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationCICDPermissionsResponse":{"description":"Request to list CI/CD permissions objects of a platform organization.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationCICDPermissionsResponseList"}},"type":"object"},"v1ListOrganizationCICDPermissionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationCICDPermissions"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationCustomPermissionListsResponse":{"description":"Response to the request to list the custom fine grained permissions of a platform organization.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationCustomPermissionListsResponseList"}},"type":"object"},"v1ListOrganizationCustomPermissionListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationCustomRoleListsResponse":{"description":"Response returned to list custom role lists in organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationCustomRoleListsResponseList"}},"type":"object"},"v1ListOrganizationCustomRoleListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationCustomRoleList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationHooksResponse":{"description":"Response returned for the request to list organization hooks.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationHooksResponseList"}},"type":"object"},"v1ListOrganizationHooksResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationHook"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationInstallationListsResponse":{"description":"Response to the request to list installation information of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationInstallationListsResponseList"}},"type":"object"},"v1ListOrganizationInstallationListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationInstallationList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationInvitationListsResponse":{"description":"Response to the requests to list invitations of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationInvitationListsResponseList"}},"type":"object"},"v1ListOrganizationInvitationListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationInvitationList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationMemberListsResponse":{"description":"Response to the request to list members of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationMemberListsResponseList"}},"type":"object"},"v1ListOrganizationMemberListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationMemberList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationOutsideCollaboratorListsResponse":{"description":"Response to the request to list outside collaborators of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationOutsideCollaboratorListsResponseList"}},"type":"object"},"v1ListOrganizationOutsideCollaboratorListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationRunnerGroupConfigsResponse":{"description":"Response to the request to list runner group configurations of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationRunnerGroupConfigsResponseList"}},"type":"object"},"v1ListOrganizationRunnerGroupConfigsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationSecurityManagerListsResponse":{"description":"Response to the request to list security managers of platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationSecurityManagerListsResponseList"}},"type":"object"},"v1ListOrganizationSecurityManagerListsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerList"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListOrganizationWorkflowPermissionsResponse":{"description":"Response to request to list workflow permissions of organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListOrganizationWorkflowPermissionsResponseList"}},"type":"object"},"v1ListOrganizationWorkflowPermissionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissions"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPRCommentConfigsResponse":{"description":"Response to the request to list PR comment configurations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPRCommentConfigsResponseList"}},"type":"object"},"v1ListPRCommentConfigsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PRCommentConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageFirewallLogsResponse":{"description":"Response to the request to list package firewall logs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageFirewallLogsResponseList"}},"type":"object"},"v1ListPackageFirewallLogsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageFirewallLog"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageLicenseOverridesResponse":{"properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageLicenseOverridesResponseList"}},"title":"Response for ListPackageLicenseOverrides","type":"object"},"v1ListPackageLicenseOverridesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageLicenseOverride"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageLicenseResponse":{"description":"Response to list all the package licenses.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageLicenseResponseList"}},"type":"object"},"v1ListPackageLicenseResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageLicense"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageManagersResponse":{"description":"Response to the request to list package managers.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageManagersResponseList"}},"type":"object"},"v1ListPackageManagersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageManager"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageVersionSourceMetadataResponse":{"description":"Response to the request to list package version source metadata.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageVersionSourceMetadataResponseList"}},"type":"object"},"v1ListPackageVersionSourceMetadataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadata"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageVersionsMetadataResponse":{"description":"Response to the request to list package version metadata.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageVersionsMetadataResponseList"}},"type":"object"},"v1ListPackageVersionsMetadataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageVersionMetadata"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackageVersionsResponse":{"description":"Response to the request to list package versions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackageVersionsResponseList"}},"type":"object"},"v1ListPackageVersionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PackageVersion"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPackagesResponse":{"description":"Response to the request to list packages.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPackagesResponseList"}},"type":"object"},"v1ListPackagesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/endorv1Package"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListParameters":{"description":"Parameters for a list request.","properties":{"action":{"description":"Action to be executed with a request. Not supported for all endpoints.","type":"string"},"ci_run_uuid":{"description":"Only return objects from PR scans that match this context id.","type":"string"},"count":{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","type":"boolean"},"disable_pagination":{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","type":"boolean"},"filter":{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","type":"string"},"group":{"$ref":"#/components/schemas/ListParametersGroup"},"group_by_time":{"$ref":"#/components/schemas/ListParametersGroupByTime"},"mask":{"description":"List of fields to return (all fields are returned by default).","type":"string"},"page_id":{"description":"Page ID to retrieve.","type":"string"},"page_size":{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","format":"int32","type":"integer"},"page_token":{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","format":"int32","type":"integer"},"search_query":{"$ref":"#/components/schemas/v1SearchQuery"},"sort":{"$ref":"#/components/schemas/ListParametersSortEntry"},"traverse":{"description":"Get data from any child namespaces as well.","type":"boolean"}},"type":"object"},"v1ListPlatformAccountsResponse":{"description":"Response to the request to list platform accounts.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPlatformAccountsResponseList"}},"type":"object"},"v1ListPlatformAccountsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PlatformAccount"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPlatformOrganizationsResponse":{"description":"Response to the request to list platform organizations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPlatformOrganizationsResponseList"}},"type":"object"},"v1ListPlatformOrganizationsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PlatformOrganization"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPluginBinariesResponse":{"description":"Response to the request to list plugin binaries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPluginBinariesResponseList"}},"type":"object"},"v1ListPluginBinariesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PluginBinary"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPoliciesResponse":{"description":"Response to the request to list policies.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPoliciesResponseList"}},"type":"object"},"v1ListPoliciesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Policy"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListPolicyTemplatesResponse":{"description":"Response to the request to list policy templates.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListPolicyTemplatesResponseList"}},"type":"object"},"v1ListPolicyTemplatesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1PolicyTemplate"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListProjectSummariesResponse":{"description":"Response returned for requests to list project summaries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListProjectSummariesResponseList"}},"type":"object"},"v1ListProjectSummariesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ProjectSummary"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListProjectsResponse":{"description":"Response returned for requests to list projects.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListProjectsResponseList"}},"type":"object"},"v1ListProjectsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Project"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListProvisioningResultsResponse":{"description":"ListProvisioningResultsResponse is used by ListProvisioningResults.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListProvisioningResultsResponseList"}},"type":"object"},"v1ListProvisioningResultsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ProvisioningResult"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRegistryIngestionCheckpointResponse":{"description":"Response to request to list registry ingestion checkpoints.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRegistryIngestionCheckpointResponseList"}},"type":"object"},"v1ListRegistryIngestionCheckpointResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpoint"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoriesResponse":{"description":"Response returned for requests to list repositories.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoriesResponseList"}},"type":"object"},"v1ListRepositoriesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Repository"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryBranchProtectionsResponse":{"description":"Response returned for requests to list repository branch protections.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryBranchProtectionsResponseList"}},"type":"object"},"v1ListRepositoryBranchProtectionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryBranchProtection"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryCheckRunsResponse":{"description":"Response returned for requests to list repository check runs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryCheckRunsResponseList"}},"type":"object"},"v1ListRepositoryCheckRunsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryCheckRun"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryCodeownersFileResponse":{"description":"Response returned for requests to list repository's codeowners file information.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryCodeownersFileResponseList"}},"type":"object"},"v1ListRepositoryCodeownersFileResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryCodeownersFile"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryCollaboratorsResponse":{"description":"Response returned for requests to list repository's collaborators.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryCollaboratorsResponseList"}},"type":"object"},"v1ListRepositoryCollaboratorsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryCollaborators"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryCommitsResponse":{"description":"Response returned for requests to list repository commits.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryCommitsResponseList"}},"type":"object"},"v1ListRepositoryCommitsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryCommit"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryDeploymentEnvConfigResponse":{"description":"Response returned for requests to list the repository's deployment environment configurations.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryDeploymentEnvConfigResponseList"}},"type":"object"},"v1ListRepositoryDeploymentEnvConfigResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryHooksResponse":{"description":"Response returned for requests to list repository hooks.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryHooksResponseList"}},"type":"object"},"v1ListRepositoryHooksResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryHook"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryIssuesResponse":{"description":"Response returned for requests to list repository issues.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryIssuesResponseList"}},"type":"object"},"v1ListRepositoryIssuesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryIssue"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryPullRequestsResponse":{"description":"Response returned for requests to list repository pull requests.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryPullRequestsResponseList"}},"type":"object"},"v1ListRepositoryPullRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryPullRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryReleasesResponse":{"description":"Response returned for requests to list repository releases.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryReleasesResponseList"}},"type":"object"},"v1ListRepositoryReleasesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryRelease"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryScanMetadataResponse":{"description":"Response returned for requests to list repository scan metadata.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryScanMetadataResponseList"}},"type":"object"},"v1ListRepositoryScanMetadataResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryScanMetadata"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryStatusesResponse":{"description":"Response returned for requests to list repository statuses.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryStatusesResponseList"}},"type":"object"},"v1ListRepositoryStatusesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryStatus"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryTagProtectionResponse":{"description":"Response returned for requests to list repository's tag protections.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryTagProtectionResponseList"}},"type":"object"},"v1ListRepositoryTagProtectionResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryTagProtection"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRepositoryVersionsResponse":{"description":"Response returned for requests to list repository versions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRepositoryVersionsResponseList"}},"type":"object"},"v1ListRepositoryVersionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RepositoryVersion"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListRequestAssuredPackageVersionsResponse":{"description":"Response for the request to list request assured package versions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRequestAssuredPackageVersionsResponseList"}},"type":"object"},"v1ListRequestAssuredPackageVersionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersion"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListResponse":{"description":"Response to a list request.","properties":{"next_page_id":{"description":"The UUID of last message retrieved.","type":"string"},"next_page_token":{"description":"Pagination token that can be used to retrieve the next page of results.","format":"int32","type":"integer"}},"type":"object"},"v1ListRuleSetImportsResponse":{"description":"Response to the request to list.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListRuleSetImportsResponseList"}},"type":"object"},"v1ListRuleSetImportsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ImportedRuleSet"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSBOMImportsResponse":{"description":"Response to the request to list SBOMs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSBOMImportsResponseList"}},"type":"object"},"v1ListSBOMImportsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ImportedSBOM"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSBOMOrganizationalContactsResponse":{"properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSBOMOrganizationalContactsResponseList"}},"type":"object"},"v1ListSBOMOrganizationalContactsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SBOMOrganizationalContact"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSCMAppResponse":{"description":"Response to the request to list SCM app.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSCMAppResponseList"}},"type":"object"},"v1ListSCMAppResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SCMApp"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSCMCredentialsResponse":{"description":"Response to the request to list SCM credentials.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSCMCredentialsResponseList"}},"type":"object"},"v1ListSCMCredentialsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SCMCredential"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSavedQueriesResponse":{"description":"Response to the request to list saved queries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSavedQueriesResponseList"}},"type":"object"},"v1ListSavedQueriesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SavedQuery"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanCreditUsagesResponse":{"description":"Response returned for requests to list ScanCreditUsage records.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanCreditUsagesResponseList"}},"type":"object"},"v1ListScanCreditUsagesResponseList":{"description":"List of scan credit usage records.","properties":{"objects":{"description":"List of scan credit usage records.","items":{"$ref":"#/components/schemas/v1ScanCreditUsage"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanProfilesResponse":{"description":"ListScanProfilesResponse is used by ListScanProfiles.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanProfilesResponseList"}},"type":"object"},"v1ListScanProfilesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScanProfile"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanRequestsResponse":{"description":"Response returned for requests to list scan requests.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanRequestsResponseList"}},"type":"object"},"v1ListScanRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScanRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanResultsResponse":{"description":"Response returned for requests to list scan results.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanResultsResponseList"}},"type":"object"},"v1ListScanResultsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScanResult"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanWorkflowResultsResponse":{"description":"Response returned for requests to list scan workflow results.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanWorkflowResultsResponseList"}},"type":"object"},"v1ListScanWorkflowResultsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScanWorkflowResult"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScanWorkflowsResponse":{"description":"Response returned for requests to list scan workflows.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScanWorkflowsResponseList"}},"type":"object"},"v1ListScanWorkflowsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScanWorkflow"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSchedulerResourceHistoriesResponse":{"description":"Response returned for requests to list scheduler resource histories.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSchedulerResourceHistoriesResponseList"}},"type":"object"},"v1ListSchedulerResourceHistoriesResponseList":{"description":"List of scheduler resource histories.","properties":{"objects":{"description":"List of scheduler resource histories.","items":{"$ref":"#/components/schemas/v1SchedulerResourceHistory"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListScopePoliciesResponse":{"description":"Response to the request to list scope policies.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListScopePoliciesResponseList"}},"type":"object"},"v1ListScopePoliciesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ScopePolicy"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSecretRulesResponse":{"description":"Response to the request to list secret rules.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSecretRulesResponseList"}},"type":"object"},"v1ListSecretRulesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SecretRule"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSecurityReviewPullRequestsResponse":{"description":"Response returned for requests to list security review pull requests.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSecurityReviewPullRequestsResponseList"}},"type":"object"},"v1ListSecurityReviewPullRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SecurityReviewPullRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSemgrepRulesResponse":{"description":"Response to the request to list Semgrep rules.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSemgrepRulesResponseList"}},"type":"object"},"v1ListSemgrepRulesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SemgrepRule"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListServiceRequestsResponse":{"description":"Response to the request to return all the service requests for a given namespace.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListServiceRequestsResponseList"}},"type":"object"},"v1ListServiceRequestsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ServiceRequest"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSupportedToolChainProfilesResponse":{"description":"ListSupportedToolChainProfilesResponse is used by ListSupportedToolChainProfiles.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSupportedToolChainProfilesResponseList"}},"type":"object"},"v1ListSupportedToolChainProfilesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SupportedToolChainProfile"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSupportedToolChainVersionsResponse":{"description":"ListSupportedToolChainVersionsResponse is used by ListSupportedToolChainVersions.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSupportedToolChainVersionsResponseList"}},"type":"object"},"v1ListSupportedToolChainVersionsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SupportedToolChainVersion"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListSystemConfigResponse":{"description":"Response to request to list system configuration.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListSystemConfigResponseList"}},"type":"object"},"v1ListSystemConfigResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1SystemConfig"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListTableRowGroupsResponse":{"description":"Response to the request to list table row groups.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListTableRowGroupsResponseList"}},"type":"object"},"v1ListTableRowGroupsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1TableRowGroup"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListTenantsResponse":{"description":"Response to the request to list tenants.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListTenantsResponseList"}},"type":"object"},"v1ListTenantsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Tenant"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListToolPatternsResponse":{"description":"Response to the request to list tool patterns.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListToolPatternsResponseList"}},"type":"object"},"v1ListToolPatternsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1ToolPattern"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListUISavedViewsResponse":{"description":"Response to the request to list UI saved views.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListUISavedViewsResponseList"}},"type":"object"},"v1ListUISavedViewsResponseList":{"description":"List wraps a page of UISavedView objects with the standard list response.","properties":{"objects":{"description":"The saved views returned in this page.","items":{"$ref":"#/components/schemas/v1UISavedView"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListUserTelemetriesResponse":{"description":"Response to the request to list user telemetries.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListUserTelemetriesResponseList"}},"type":"object"},"v1ListUserTelemetriesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1UserTelemetry"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListUsersResponse":{"description":"Response to the request to list users.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListUsersResponseList"}},"type":"object"},"v1ListUsersResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1User"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListVectorStoresResponse":{"description":"Response to the request to list available VectorStores.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListVectorStoresResponseList"}},"type":"object"},"v1ListVectorStoresResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1VectorStore"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListVendorVexStatementsResponse":{"description":"Response returned for requests to list vendor VEX statements.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListVendorVexStatementsResponseList"}},"type":"object"},"v1ListVendorVexStatementsResponseList":{"description":"List is a page of vendor VEX statements.","properties":{"objects":{"description":"The vendor VEX statements in this page.","items":{"$ref":"#/components/schemas/v1VendorVexStatement"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListVersionDiffsResponse":{"description":"Response to the request to list version diffs.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListVersionDiffsResponseList"}},"type":"object"},"v1ListVersionDiffsResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1VersionDiff"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListVersionUpgradesResponse":{"description":"Response to the request to list version upgrades.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListVersionUpgradesResponseList"}},"type":"object"},"v1ListVersionUpgradesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1VersionUpgrade"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1ListVulnerabilitiesResponse":{"description":"Response to the request to list vulnerabilities.","properties":{"count_response":{"$ref":"#/components/schemas/v1CountResponse"},"group_response":{"$ref":"#/components/schemas/v1GroupResponse"},"list":{"$ref":"#/components/schemas/v1ListVulnerabilitiesResponseList"}},"type":"object"},"v1ListVulnerabilitiesResponseList":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/v1Vuln"},"type":"array"},"response":{"$ref":"#/components/schemas/v1ListResponse"}},"type":"object"},"v1LocationType":{"default":"LOCATION_TYPE_UNSPECIFIED","description":"Classification of the location type within a data flow path.\n\n - LOCATION_TYPE_SOURCE: The source location.\n - LOCATION_TYPE_SINK: The sink location.\n - LOCATION_TYPE_INTERMEDIATE: The intermediate location.\n - LOCATION_TYPE_LOGICAL_BUG: The logical bug location.","enum":["LOCATION_TYPE_UNSPECIFIED","LOCATION_TYPE_SOURCE","LOCATION_TYPE_SINK","LOCATION_TYPE_INTERMEDIATE","LOCATION_TYPE_LOGICAL_BUG"],"type":"string"},"v1LocationWithName":{"description":"A code location with a name and type.","properties":{"location":{"$ref":"#/components/schemas/v1SarifLocation"},"name":{"description":"The (preferably) unique name of the code location.\nCould be a function ref or a module name.","type":"string"},"type":{"description":"The type of the code location.","type":"string"}},"required":["location","name"],"type":"object"},"v1LogLevel":{"default":"LOG_LEVEL_UNSPECIFIED","description":" - LOG_LEVEL_EMERGENCY: System is unusable, for example, a panic condition.\n - LOG_LEVEL_ALERT: Action must be taken immediately, for example, a corrupted system\ndatabase.\n - LOG_LEVEL_CRITICAL: Critical conditions such as hard device errors.\n - LOG_LEVEL_ERROR: Error conditions.\n - LOG_LEVEL_WARNING: Warning conditions.\n - LOG_LEVEL_NOTICE: Normal but significant conditions that may require special handling.\n - LOG_LEVEL_INFO: Informational messages that confirmation that the program is working as\nexpected.\n - LOG_LEVEL_DEBUG: Messages that contain information normally of use only for debugging.","enum":["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_EMERGENCY","LOG_LEVEL_ALERT","LOG_LEVEL_CRITICAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARNING","LOG_LEVEL_NOTICE","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"],"type":"string"},"v1MCPServerLog":{"description":"Represents the information captured from an MCPServerLog of endorctl.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MCPServerLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an MCPServerLog.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1MCPServerLogSpec":{"properties":{"endorctl_version":{"description":"endorctl_version is the endorctl version of the MCP server.","type":"string"},"error_message":{"description":"the error message if any.","type":"string"},"has_error":{"description":"whether the tool call has an error.","type":"boolean"},"parameters":{"description":"parameters that are been passed to the tool.","type":"object"},"tool_name":{"description":"tool_name that is been called.","type":"string"}},"required":["tool_name","parameters","has_error"],"type":"object"},"v1MTLSAuth":{"properties":{"ca_cert":{"description":"The CA certificate in PEM format.","type":"string"},"client_cert":{"description":"The client certificate in PEM format.","type":"string"},"client_key":{"description":"The client key in PEM format.","type":"string"},"server_cert":{"description":"The server certificate in PEM format.","type":"string"}},"required":["client_cert","client_key"],"type":"object"},"v1Malware":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a malware record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareAssessmentChangeLogEntry":{"description":"MalwareAssessmentChangeLogEntry represents a single change log entry in an assessment.","properties":{"change_description":{"description":"Description of the change.","type":"string"},"changed_at":{"description":"When this change occurred. Enables sorting the change log chronologically.","format":"date-time","type":"string"},"human_review":{"description":"Whether this change was made by a human reviewer.","type":"boolean"},"method":{"$ref":"#/components/schemas/v1MalwareAssessmentMethod"},"result":{"$ref":"#/components/schemas/v1MalwareAssessmentResultType"}},"type":"object"},"v1MalwareAssessmentError":{"description":"MalwareAssessmentError records a single error encountered while producing a malware assessment.","properties":{"description":{"description":"Human-readable description of the error.","type":"string"},"stage":{"description":"Stage or signal that produced the error.","type":"string"},"status":{"$ref":"#/components/schemas/v1MalwareAssessmentErrorStatus"},"target":{"description":"Archive, file, or package reference that triggered the error.","type":"string"}},"type":"object"},"v1MalwareAssessmentErrorStatus":{"default":"STATUS_UNSPECIFIED","description":"Status categorizes the kind of error that occurred.\n\n - STATUS_UNSPECIFIED: No error type has been set.\n - STATUS_RULE_EVALUATION: A detection or analysis rule failed to evaluate.\n - STATUS_DATA_UNAVAILABLE: Required input data was missing or unavailable.\n - STATUS_TIMEOUT: The assessment exceeded its time budget.\n - STATUS_LLM: An LLM call failed.\n - STATUS_INTERNAL: An internal or system-level failure occurred.\n - STATUS_UNSUPPORTED: The package or target is not supported.","enum":["STATUS_UNSPECIFIED","STATUS_RULE_EVALUATION","STATUS_DATA_UNAVAILABLE","STATUS_TIMEOUT","STATUS_LLM","STATUS_INTERNAL","STATUS_UNSUPPORTED"],"type":"string"},"v1MalwareAssessmentLLMCallStats":{"description":"MalwareAssessmentLLMCallStats tracks LLM usage statistics for a specific model.","properties":{"calls":{"description":"Number of calls made.","format":"int32","type":"integer"},"model":{"description":"The model identifier.","type":"string"},"total_completion_tokens":{"description":"Total completion tokens used.","format":"int64","type":"string"},"total_cost":{"description":"Total cost in dollars.","format":"double","type":"number"},"total_prompt_tokens":{"description":"Total prompt tokens used.","format":"int64","type":"string"}},"type":"object"},"v1MalwareAssessmentMethod":{"default":"MALWARE_ASSESSMENT_METHOD_UNSPECIFIED","description":"MalwareAssessmentMethod records how a verdict was reached. A short-circuited\nassessment never ran the terminal LLM, so its confidence and reasons must be\nread against a different bar than an LLM verdict.\n\n - MALWARE_ASSESSMENT_METHOD_UNSPECIFIED: No method has been set.\n - MALWARE_ASSESSMENT_METHOD_LLM: Produced by the terminal LLM decision.\n - MALWARE_ASSESSMENT_METHOD_IOC: Produced by a match against a known-malicious, human-reviewed IoC.\n - MALWARE_ASSESSMENT_METHOD_YARA_SHORT_CIRCUIT: Produced by a YARA rule match that skipped the LLM.\n - MALWARE_ASSESSMENT_METHOD_LLM_REVIEW: Produced by an LLM pass that critiqued an earlier verdict.\n - MALWARE_ASSESSMENT_METHOD_MANUAL: Set by a human researcher.\n - MALWARE_ASSESSMENT_METHOD_SYNC: Imported from an external feed rather than assessed here.\n - MALWARE_ASSESSMENT_METHOD_IOC_SHORT_CIRCUIT: Legacy spelling of the IoC short-circuit, kept so migrated records\nround-trip. Write MALWARE_ASSESSMENT_METHOD_IOC for new assessments.","enum":["MALWARE_ASSESSMENT_METHOD_UNSPECIFIED","MALWARE_ASSESSMENT_METHOD_LLM","MALWARE_ASSESSMENT_METHOD_IOC","MALWARE_ASSESSMENT_METHOD_YARA_SHORT_CIRCUIT","MALWARE_ASSESSMENT_METHOD_LLM_REVIEW","MALWARE_ASSESSMENT_METHOD_MANUAL","MALWARE_ASSESSMENT_METHOD_SYNC","MALWARE_ASSESSMENT_METHOD_IOC_SHORT_CIRCUIT"],"type":"string"},"v1MalwareAssessmentResultType":{"default":"MALWARE_ASSESSMENT_RESULT_TYPE_UNSPECIFIED","description":"MalwareAssessmentResultType represents the verdict of a malware assessment.","enum":["MALWARE_ASSESSMENT_RESULT_TYPE_UNSPECIFIED","MALWARE_ASSESSMENT_RESULT_TYPE_MALICIOUS","MALWARE_ASSESSMENT_RESULT_TYPE_BENIGN","MALWARE_ASSESSMENT_RESULT_TYPE_TELEMETRY"],"type":"string"},"v1MalwareAssessmentSource":{"default":"MALWARE_ASSESSMENT_SOURCE_UNSPECIFIED","description":"MalwareAssessmentSource identifies the data source for an assessment.","enum":["MALWARE_ASSESSMENT_SOURCE_UNSPECIFIED","MALWARE_ASSESSMENT_SOURCE_ENDOR","MALWARE_ASSESSMENT_SOURCE_TEST"],"type":"string"},"v1MalwareCheckActivity":{"description":"MalwareCheckActivity runs Endor's malware lookup against the packages in a\npackage-install command (a cmd_line event). It carries no regex matchers:\nmatching the activity means running the check, and the block/allow verdict\ncomes from the malware feed (MALWARE-status, non-contested records), not from\nthe policy config.","properties":{"ecosystems":{"description":"Ecosystems to check (e.g. \"npm\", \"pypi\", \"cargo\"). Empty means all ecosystems.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1MalwareDetectionAccountSignal":{"description":"MalwareDetectionAccountSignal fetches publisher account information from the registry.","type":"object"},"v1MalwareDetectionAnalysisTask":{"description":"MalwareDetectionAnalysisTask represents a pending or completed analysis task.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTaskSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the analysis task record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionAnalysisTaskSpec":{"properties":{"assessment_uuid":{"description":"Reference to the resulting assessment UUID.","type":"string"},"completed_at":{"description":"Timestamp when task completed.","format":"date-time","type":"string"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"error":{"description":"Error message if failed.","type":"string"},"live_scan":{"description":"Whether this task is a live scan.","type":"boolean"},"max_retries":{"description":"Maximum allowed retries.","format":"int32","type":"integer"},"package_name":{"description":"Package name.","type":"string"},"retry_count":{"description":"Number of retry attempts.","format":"int32","type":"integer"},"started_at":{"description":"Timestamp when task started.","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/v1TaskStatus"},"version":{"description":"Package version.","type":"string"},"worker_id":{"description":"ID of the worker processing this task.","type":"string"},"workflow_uuid":{"description":"UUID of the workflow definition to run for this task.","type":"string"}},"required":["ecosystem","package_name","version"],"type":"object"},"v1MalwareDetectionArtifactDownloadStatus":{"description":"MalwareDetectionArtifactDownloadStatus tracks the download status of package artifacts.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatusSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the artifact download status record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionArtifactDownloadStatusSpec":{"properties":{"artifact_type":{"$ref":"#/components/schemas/v1ArtifactDownloadType"},"checked_at":{"description":"Timestamp when status was last checked.","format":"date-time","type":"string"},"download_success":{"description":"Whether download was successful.","type":"boolean"},"downloaded_at":{"description":"Timestamp of successful download.","format":"date-time","type":"string"},"downloads":{"description":"List of downloaded files.","items":{"$ref":"#/components/schemas/v1DownloadInfo"},"type":"array"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"package_name":{"description":"Package name.","type":"string"},"version":{"description":"Package version.","type":"string"}},"required":["ecosystem","package_name","version","artifact_type"],"type":"object"},"v1MalwareDetectionAssessment":{"description":"MalwareDetectionAssessment represents a malware assessment record.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the assessment record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionAssessmentPromotion":{"description":"MalwareDetectionAssessmentPromotion publishes a human-reviewed malware detection assessment\ninto the malware feed. Nothing is stored under this kind: the server performs the promotion\nand returns the resulting record in spec.response.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentPromotionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1MalwareDetectionAssessmentPromotionRequest":{"description":"MalwareDetectionAssessmentPromotionRequest carries the promotion inputs the assessment itself does not hold.","properties":{"additional_notes":{"description":"Reviewer notes that do not belong in the verdict reasons.","items":{"type":"string"},"type":"array"},"aliases":{"description":"Identifiers this malware is already known by elsewhere, for example a GHSA or OSV id.","items":{"type":"string"},"type":"array"},"assessment_uuid":{"description":"The assessment to promote. It must carry a MALICIOUS result and no assessment_error;\nanything else is rejected rather than promoted.","type":"string"},"cwe_id":{"description":"Weakness classification the reviewer assigns, for example CWE-506.","type":"string"},"references":{"description":"Supporting links, such as an upstream advisory or a registry takedown notice.","items":{"$ref":"#/components/schemas/VulnSpecReference"},"type":"array"},"summary":{"description":"One-line description of the malicious behaviour for feed consumers, who see the\nrecord without access to the assessment behind it.","type":"string"}},"required":["assessment_uuid"],"type":"object"},"v1MalwareDetectionAssessmentPromotionResponse":{"description":"MalwareDetectionAssessmentPromotionResponse holds the malware record the promotion produced.","properties":{"already_promoted":{"description":"true when the assessment had already been promoted.","readOnly":true,"type":"boolean"},"malware":{"$ref":"#/components/schemas/v1Malware"}},"type":"object"},"v1MalwareDetectionAssessmentPromotionSpec":{"properties":{"request":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentPromotionRequest"},"response":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentPromotionResponse"}},"type":"object"},"v1MalwareDetectionAssessmentSpec":{"properties":{"accepted":{"description":"When true, a human reviewer has accepted this assessment verdict and promoted it to the internal malware feed.","type":"boolean"},"archives_analyzed":{"description":"Archives that were analyzed.","items":{"type":"string"},"type":"array"},"archives_skipped":{"description":"Archives that were skipped.","items":{"type":"string"},"type":"array"},"assessment_duration":{"description":"Duration of the assessment process in seconds.","format":"double","type":"number"},"assessment_error":{"$ref":"#/components/schemas/v1MalwareAssessmentError"},"assessment_method":{"$ref":"#/components/schemas/v1MalwareAssessmentMethod"},"attack_vector":{"description":"Attack vector classification.","type":"string"},"change_log":{"description":"Change log entries, ordered by changed_at for sorting.","items":{"$ref":"#/components/schemas/v1MalwareAssessmentChangeLogEntry"},"type":"array"},"confidence":{"description":"Confidence level (0-100).","format":"int32","type":"integer"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"enable_export":{"description":"When true, assessment is eligible for advisory creation and external reporting (e.g. PyPI, OSV). Default true.","type":"boolean"},"human_reviewed":{"description":"Whether this has been reviewed by a human.","type":"boolean"},"human_reviewed_reasons":{"description":"Reasons provided when the assessment was human-reviewed.","items":{"type":"string"},"type":"array"},"impact":{"description":"Potential impacts.","items":{"type":"string"},"type":"array"},"iocs":{"description":"IoC's of the malware observed during the assessment.","items":{"$ref":"#/components/schemas/v1MalwareIOCAttribute"},"type":"array"},"llm_call_stats":{"additionalProperties":{"$ref":"#/components/schemas/v1MalwareAssessmentLLMCallStats"},"description":"LLM call statistics per model.","type":"object"},"obfuscation_used":{"description":"Obfuscation techniques.","items":{"type":"string"},"type":"array"},"package_name":{"description":"Package name.","type":"string"},"package_publication_date":{"description":"Package publication date from registry.","format":"date-time","type":"string"},"problematic_files":{"description":"Problematic files.","items":{"type":"string"},"type":"array"},"prompt_compressed":{"description":"Compressed prompt (zlib+base64).","type":"string"},"reasons":{"description":"Reasons for the verdict.","items":{"type":"string"},"type":"array"},"result":{"$ref":"#/components/schemas/v1MalwareAssessmentResultType"},"review_required":{"description":"Whether manual review is required.","type":"boolean"},"reviewed_at":{"description":"Timestamp of human review.","format":"date-time","type":"string"},"source":{"$ref":"#/components/schemas/v1MalwareAssessmentSource"},"targeted_platform":{"description":"Targeted platforms.","items":{"type":"string"},"type":"array"},"total_llm_cost":{"description":"Total LLM cost.","format":"double","type":"number"},"trigger":{"description":"Trigger condition.","type":"string"},"trigger_conditions":{"description":"Trigger conditions.","items":{"type":"string"},"type":"array"},"version":{"description":"Package version.","type":"string"},"workflow_uuid":{"description":"UUID of the workflow that produced this assessment.","type":"string"}},"required":["workflow_uuid","ecosystem","package_name","version","result"],"type":"object"},"v1MalwareDetectionBinaryStringsSignal":{"description":"MalwareDetectionBinaryStringsSignal extracts strings from binary files and passes them to an LLM for analysis.","properties":{"ground_iocs":{"description":"When true, discovered IoCs are validated against the extracted string set.","type":"boolean"},"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"max_binaries_per_package":{"description":"Maximum number of binaries to analyze per package, prioritized by tier.","format":"int32","type":"integer"},"max_binary_size_mb":{"description":"Maximum binary file size in megabytes to analyze.","format":"int32","type":"integer"},"max_strings_to_llm":{"description":"Maximum number of extracted strings to send to the LLM.","format":"int32","type":"integer"},"max_tokens_to_llm":{"description":"Maximum total tokens of extracted strings to send to the LLM per binary.","format":"int32","type":"integer"},"min_string_length":{"description":"Minimum string length (in characters) to extract from binaries.","format":"int32","type":"integer"},"strings_timeout":{"description":"Timeout in seconds for the strings extraction step.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionCodeDiffPopularSignal":{"description":"MalwareDetectionCodeDiffPopularSignal produces an LLM-assisted diff analysis for popular packages with a wider baseline.","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"max_diff_line_length":{"description":"Maximum character length per diff line before truncation.","format":"int32","type":"integer"},"max_file_size_for_diff":{"description":"Maximum file size in bytes to include in the diff; -1 means unlimited.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionCodeDiffSignal":{"description":"MalwareDetectionCodeDiffSignal produces an LLM-assisted diff analysis against the previous package version.","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"max_diff_line_length":{"description":"Maximum character length per diff line before truncation.","format":"int32","type":"integer"},"max_diff_size_bytes":{"description":"Maximum total diff size in bytes; -1 means unlimited.","format":"int32","type":"integer"},"max_file_size_for_diff":{"description":"Maximum file size in bytes to include in the diff; -1 means unlimited.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionDependenciesSignal":{"description":"MalwareDetectionDependenciesSignal collects transitive dependency information for the package.","type":"object"},"v1MalwareDetectionDownloadStatsSignal":{"description":"MalwareDetectionDownloadStatsSignal fetches download statistics to assess package popularity.","type":"object"},"v1MalwareDetectionGitHubSignal":{"description":"MalwareDetectionGitHubSignal retrieves GitHub repository signals and analyzes them via an LLM.","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"max_commits":{"description":"Maximum number of commits to include.","format":"int32","type":"integer"},"max_contributors":{"description":"Maximum number of contributors to include.","format":"int32","type":"integer"},"max_releases":{"description":"Maximum number of releases to include.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionInstallHooksSignal":{"description":"MalwareDetectionInstallHooksSignal inspects package install hooks (preinstall, postinstall scripts).","type":"object"},"v1MalwareDetectionIoC":{"description":"MalwareDetectionIoC represents an Indicator of Compromise.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionIoCSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the IoC record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionIoCIngestorSignal":{"description":"MalwareDetectionIoCIngestorSignal runs IoC and YARA short-circuit checks before the full analysis.","properties":{"yara_short_circuit_enabled":{"description":"When true, the signal exits early upon any YARA match.","type":"boolean"},"yara_short_circuit_rule_prefix":{"description":"Prefix used to identify short-circuit YARA rules, e.g. \"MAL_\".","type":"string"}},"type":"object"},"v1MalwareDetectionIoCSpec":{"properties":{"change_log":{"additionalProperties":{"type":"string"},"description":"Change log with ISO timestamp keys.","type":"object"},"confirmed_by":{"description":"Who confirmed the IoC.","type":"string"},"created_by":{"description":"Who created this IoC.","type":"string"},"description":{"description":"Description of the IoC.","type":"string"},"detection_rules":{"description":"Rules that produced this IoC, for example YARA rule names. Merged across\nsightings rather than replaced.","items":{"type":"string"},"type":"array"},"filename":{"description":"File the IoC was extracted from, relative to the package root.","type":"string"},"first_seen_at":{"description":"When this IoC was first observed. Distinct from meta.create_time, which\nis when this record was written and does not survive a data migration.","format":"date-time","type":"string"},"last_seen_at":{"description":"When this IoC was last observed in a package. Distinct from\nmeta.update_time, which also moves on edits that are not sightings.","format":"date-time","type":"string"},"review_status":{"$ref":"#/components/schemas/v1IOCReviewStatus"},"status":{"$ref":"#/components/schemas/v1IOCStatus"},"type":{"$ref":"#/components/schemas/v1IOCType"},"value":{"description":"Value of the IoC. Immutable for the same reason as type.","type":"string"}},"required":["type","value","created_by"],"type":"object"},"v1MalwareDetectionLLMFileSummarySignal":{"description":"MalwareDetectionLLMFileSummarySignal uses an LLM to produce a per-file summary of package contents.","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"llm_analysis_threshold":{"description":"Minimum number of files that must be present before LLM analysis is triggered.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionLLMSignal":{"description":"MalwareDetectionLLMSignal carries LLM configuration for signals that produce a verdict or critique using a language model.\nUsed for both the terminal decision signal (llm_decision) and the critique signal (critique).","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"}},"type":"object"},"v1MalwareDetectionMetadataSignal":{"description":"MalwareDetectionMetadataSignal extracts package registry metadata via an LLM.","properties":{"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"}},"type":"object"},"v1MalwareDetectionOpengrepDiffSignal":{"description":"MalwareDetectionOpengrepDiffSignal diffs the package against its previous version using opengrep rules.\nUsed for both sensitive-API diff (sens_api_diff) and malware-focused diff (malware_diff) signals;\nthe rule set applied is determined by which oneof field is set in MalwareDetectionSignal.","properties":{"context_lines":{"description":"Number of context lines to include around each finding.","format":"int32","type":"integer"},"level_threshold":{"$ref":"#/components/schemas/v1OpengrepSeverityLevel"},"max_line_length":{"description":"Maximum character length per diff line before truncation.","format":"int32","type":"integer"},"opengrep_timeout":{"description":"Maximum seconds to allow the opengrep scan to run.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionPackage":{"description":"MalwareDetectionPackage represents a package in the malware detection system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionPackageFilesSignal":{"description":"MalwareDetectionPackageFilesSignal reads and lists files from the package archive for downstream signals.","properties":{"max_files":{"description":"Maximum number of files to include from the archive.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionPackageIoC":{"description":"MalwareDetectionPackageIoC represents a relationship between a package and an IoC.\n\nEach side of the link gets its own message, carrying the identity of the object on\nthat side. Both sides can therefore be counted or grouped by the names a caller\nalready holds, with no lookup first. Those identities cannot drift: each one is the\nunique key of the object it came from, so changing it would name a different object\nand make a different link.\n\nOne object is one link. A unique index over both identities keeps it that way, so a\ncount of links is a count of distinct packages, or of distinct IoCs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoCSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package-IoC relationship record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionPackageIoCSpec":{"properties":{"context":{"description":"Context describing the relationship between the package and the IoC.","type":"string"},"ioc_data":{"$ref":"#/components/schemas/MalwareDetectionPackageIoCIOCData"},"package_data":{"$ref":"#/components/schemas/MalwareDetectionPackageIoCMalwarePackageData"}},"required":["package_data","ioc_data"],"type":"object"},"v1MalwareDetectionPackageSpec":{"properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"package_name":{"description":"Package name.","type":"string"},"version":{"description":"Package version.","type":"string"}},"required":["ecosystem","package_name","version"],"type":"object"},"v1MalwareDetectionPackageVersionsSignal":{"description":"MalwareDetectionPackageVersionsSignal gathers version history of the package from the registry.","properties":{"max_versions_to_show":{"description":"Maximum number of recent versions to include in the signal output.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionSecondStageAnalysisSignal":{"description":"MalwareDetectionSecondStageAnalysisSignal downloads and LLM-analyzes files referenced by suspicious code paths.","properties":{"download_timeout":{"description":"Timeout in seconds for each individual file download.","format":"int32","type":"integer"},"enable_llm_cache":{"description":"When true, previously fetched LLM responses are reused to reduce cost.","type":"boolean"},"llm":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfig"},"max_download_size":{"description":"Maximum total download size in bytes across all second-stage files.","format":"int32","type":"integer"},"max_file_size_for_llm":{"description":"Maximum file size in bytes to pass to the LLM.","format":"int32","type":"integer"},"max_files_to_analyze":{"description":"Maximum number of files to download and analyze.","format":"int32","type":"integer"}},"type":"object"},"v1MalwareDetectionSignal":{"description":"MalwareDetectionSignal defines a single analysis unit within a signal group.","properties":{"account":{"$ref":"#/components/schemas/v1MalwareDetectionAccountSignal"},"binary_strings":{"$ref":"#/components/schemas/v1MalwareDetectionBinaryStringsSignal"},"capture_iocs":{"description":"IoC types this signal is expected to capture; order reflects capture priority.","items":{"$ref":"#/components/schemas/v1IOCType"},"type":"array"},"code_diff":{"$ref":"#/components/schemas/v1MalwareDetectionCodeDiffSignal"},"code_diff_popular":{"$ref":"#/components/schemas/v1MalwareDetectionCodeDiffPopularSignal"},"critique":{"$ref":"#/components/schemas/v1MalwareDetectionLLMSignal"},"dependencies":{"$ref":"#/components/schemas/v1MalwareDetectionDependenciesSignal"},"depends_on":{"description":"Names of signals that must complete before this signal runs; execution order follows the declaration order of this list.","items":{"type":"string"},"type":"array"},"download_stats":{"$ref":"#/components/schemas/v1MalwareDetectionDownloadStatsSignal"},"github":{"$ref":"#/components/schemas/v1MalwareDetectionGitHubSignal"},"install_hooks":{"$ref":"#/components/schemas/v1MalwareDetectionInstallHooksSignal"},"ioc_ingestor":{"$ref":"#/components/schemas/v1MalwareDetectionIoCIngestorSignal"},"is_terminal":{"description":"When true, this signal produces the terminal verdict for the group.","type":"boolean"},"keep_temp_files":{"description":"When true, temporary files written by this signal producer are not deleted after execution; useful for debugging.","type":"boolean"},"llm_decision":{"$ref":"#/components/schemas/v1MalwareDetectionLLMSignal"},"llm_file_summary":{"$ref":"#/components/schemas/v1MalwareDetectionLLMFileSummarySignal"},"malware_diff":{"$ref":"#/components/schemas/v1MalwareDetectionOpengrepDiffSignal"},"metadata":{"$ref":"#/components/schemas/v1MalwareDetectionMetadataSignal"},"name":{"description":"Name that uniquely identifies this signal instance within the workflow.","type":"string"},"output_template":{"description":"Go template that overrides the default go output template for this signal.\nWhen set, the scanner uses this template instead of the built-in template to render\nthe signal's structured output into text before passing it to the LLM decision signal.\nTemplate variables must match the signal producer's output model; unrecognised variables\nare treated as empty strings.","type":"string"},"package_files":{"$ref":"#/components/schemas/v1MalwareDetectionPackageFilesSignal"},"package_versions":{"$ref":"#/components/schemas/v1MalwareDetectionPackageVersionsSignal"},"second_stage_analysis":{"$ref":"#/components/schemas/v1MalwareDetectionSecondStageAnalysisSignal"},"sens_api_diff":{"$ref":"#/components/schemas/v1MalwareDetectionOpengrepDiffSignal"},"typosquatting":{"$ref":"#/components/schemas/v1MalwareDetectionTyposquattingSignal"},"yara_malware_detection":{"$ref":"#/components/schemas/v1MalwareDetectionYaraSignal"}},"type":"object"},"v1MalwareDetectionTyposquattingSignal":{"description":"MalwareDetectionTyposquattingSignal detects potential typosquatting by comparing the package name to known packages.","properties":{"similarity_threshold":{"description":"Minimum similarity score (0.0 – 1.0) to flag a package as a potential typosquat.","format":"double","type":"number"}},"type":"object"},"v1MalwareDetectionWorkflow":{"description":"MalwareDetectionWorkflow stores a named scan workflow configuration used by the malware detection pipeline.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflowSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the workflow record.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareDetectionWorkflowSpec":{"description":"MalwareDetectionWorkflow specifications.","properties":{"capture_iocs":{"description":"IoC types this workflow is expected to capture across all signal groups; acts as a workflow-level default.","items":{"$ref":"#/components/schemas/v1IOCType"},"type":"array"},"disabled":{"description":"When true, malware detection is disabled for this workflow.","type":"boolean"},"infer_mal":{"description":"When true, only the primary registry mirror is checked and shortcut verdicts produce MALICIOUS;\nwhen false all mirrors are searched and shortcut verdicts produce UNKNOWN.","type":"boolean"},"is_default":{"description":"When true, this workflow is selected by default when no explicit workflow is requested.","type":"boolean"},"signal_groups":{"description":"Execution order of signal groups; groups are run in the order they appear in this list.","items":{"$ref":"#/components/schemas/v1MalwareSignalGroup"},"type":"array"}},"type":"object"},"v1MalwareDetectionYaraSignal":{"description":"MalwareDetectionYaraSignal scans package files with YARA rules to identify malware patterns.","properties":{"context_lines":{"description":"Number of context lines to include around each YARA match.","format":"int32","type":"integer"},"max_file_size_mb":{"description":"Maximum file size in megabytes to pass through YARA scanning.","format":"int32","type":"integer"},"show_code_snippets":{"description":"When true, matching code snippets are included in the signal output.","type":"boolean"}},"type":"object"},"v1MalwareExposure":{"description":"Namespace exposure for a given Malware package.\nThe presence of this object indicates that at least one project in the\nNamespace is, or was, potentially affected by the referenced Malware.\nIf all affected projects are in child namespaces, then there are no\nMalwareExposure objects in the parent namespace. Use traverse to\ninclude MalwareExposure objects from child namespaces.\nThe meta.name field contains the fully qualified package name of the\nMalware package. For example, \"npm://package-name\".","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareExposureSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID of the MalwareExposure object.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1MalwareExposureQuery":{"description":"Request to get the exposure of one or more Malware objects on a given namespace.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MalwareExposureQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID of the MalwareExposureQuery object.","readOnly":true,"type":"string"}},"type":"object"},"v1MalwareExposureQuerySpec":{"description":"Object specific data for MalwareExposureQuery.","properties":{"request":{"$ref":"#/components/schemas/v1MalwareExposureQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1MalwareExposureQuerySpecResponse"}},"type":"object"},"v1MalwareExposureQuerySpecRequest":{"description":"Request data for MalwareExposureQuery.","properties":{"filter":{"description":"String of conditions to filter MalwareExposure objects by.\nFor example, to only get data for the last 7 days, use:\n\"meta.create_time \u003e= now(-168h)\".\n\nOnly applied if malware_uuids is empty.\nSkips contested malware records.\n\nNote: The filter is applied to the MalwareExposure objects,\nnot the Malware objects.\n\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","type":"string"},"malware_uuids":{"description":"UUIDs of the Malware objects to get exposure for.\nLeave empty to get exposure for all, non-contested Malware objects.\nUse the filter field to get exposure for a subset of Malware\nobjects if you do not have the UUIDs.\n\nNote: The UUIDs are not checked for existence.\nThere is no error returned if a UUID is not found, but there\nwill not be an entry for it in the project counts.","items":{"type":"string"},"type":"array"},"project_uuid":{"description":"Limit the request to a specific project.","type":"string"},"traverse":{"description":"Get data from any child namespaces as well.","type":"boolean"}},"type":"object"},"v1MalwareExposureQuerySpecResponse":{"description":"Response data for MalwareExposureQuery.\n\nContested malware records are skipped unless explicitly requested\nvia the malware_uuids field.","properties":{"definitely_affected_projects":{"description":"List of definitely affected project UUIDs.","items":{"type":"string"},"type":"array"},"malware_counts_by_project":{"additionalProperties":{"$ref":"#/components/schemas/ResponseCounts"},"description":"Malware counts per project, indexed by project UUID.","type":"object"},"potentially_affected_projects":{"description":"List of potentially affected project UUIDs.","items":{"type":"string"},"type":"array"},"project_counts_by_malware":{"additionalProperties":{"$ref":"#/components/schemas/ResponseCounts"},"description":"Project counts per Malware object, indexed by Malware UUID.","type":"object"}},"type":"object"},"v1MalwareExposureSpec":{"description":"Object specific data for MalwareExposure.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"malware_detected_on":{"description":"Date the malware was detected in public repositories.\nCopied directly from the malware record, so that it\ncan be used to filter MalwareExposure objects.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","type":"string"},"malware_uuid":{"description":"UUID of the Malware object.","type":"string"}},"required":["malware_uuid","ecosystem"],"type":"object"},"v1MalwareIOCAttribute":{"description":"MalwareIOC represents a particular Indicator of Compromise.\nUse it to embed the IOC attributes in other messages.","properties":{"type":{"$ref":"#/components/schemas/v1IOCType"},"value":{"description":"Value of the IOC attribute.","type":"string"}},"required":["type","value"],"type":"object"},"v1MalwareMatch":{"description":"MalwareMatch describes a package flagged by the malware check. The verdict\ncomes from a MALWARE-status, non-contested record in Endor's malware feed.","properties":{"ecosystem":{"description":"Ecosystem the package belongs to (e.g. \"npm\", \"pypi\").","type":"string"},"message":{"description":"Human-readable explanation of what fired.","type":"string"},"package_name":{"description":"Package name (e.g. \"reftest-helper-for-ae1x\").","type":"string"},"reasons":{"description":"Why the package is flagged — indicators reported by the malware feed.","items":{"type":"string"},"type":"array"},"source":{"description":"Feed that flagged it, as the MalwareSource enum name (e.g. \"MALWARE_SOURCE_AMF\").","type":"string"},"summary":{"description":"Short title from the malware feed (e.g. \"Malicious code in \u003cpkg\u003e (npm)\").","type":"string"},"version":{"description":"Version from the install command, when it was pinned; empty for an unpinned install.","type":"string"}},"type":"object"},"v1MalwareSignalGroup":{"description":"MalwareSignalGroup is an ordered collection of signals that execute together.","properties":{"name":{"description":"Name that uniquely identifies this group within the workflow.","type":"string"},"signals":{"description":"Ordered list of signals in this group.","items":{"$ref":"#/components/schemas/v1MalwareDetectionSignal"},"type":"array"}},"type":"object"},"v1MalwareSpec":{"properties":{"additional_notes":{"description":"Additional notes for the malware record.","items":{"type":"string"},"type":"array"},"advisory_last_updated":{"description":"Timestamp of the last update of the malware record by the advisory.","format":"date-time","type":"string"},"advisory_published":{"description":"Date when the advisory published the malware record.","format":"date-time","type":"string"},"aliases":{"description":"Aliases of the malware record.","items":{"type":"string"},"type":"array"},"contested":{"description":"Has the malware record been contested.","type":"boolean"},"contested_date":{"description":"Date when the malware record was contested.","format":"date-time","readOnly":true,"type":"string"},"contested_reason":{"description":"Reason for the malware record being contested.","type":"string"},"contributing_feeds":{"description":"Feeds that contributed to this record. Set on merge when more than one\nsource applies; each value is a concrete feed (not UNSPECIFIED). Empty\nwhen a single feed supplies the record or provenance is not tracked.","items":{"$ref":"#/components/schemas/SpecMalwareSource"},"readOnly":true,"type":"array"},"cwe_id":{"description":"The CWE ID for the malware record.","type":"string"},"deletion_exempt":{"description":"When true, this record is exempt from orphaned malware deletion and will never be\nautomatically removed during ingestion cleanup, regardless of whether it was ingested.","type":"boolean"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"iocs":{"description":"IOC attributes of the malware found during the analysis.","items":{"$ref":"#/components/schemas/v1MalwareIOCAttribute"},"type":"array"},"malware_detected_on":{"description":"Date when the malware was detected.","format":"date-time","type":"string"},"package_name":{"description":"Name of malicious package.","type":"string"},"package_version":{"$ref":"#/components/schemas/v1PackageVersion"},"pkg_release_date":{"description":"Release date of the package version.","format":"date-time","type":"string"},"purl":{"description":"PURL of the package without the version component.","type":"string"},"ranges":{"$ref":"#/components/schemas/SpecMalwareRanges"},"raw":{"$ref":"#/components/schemas/SpecRawMalware"},"reasons":{"description":"Reasons for flagging the package as malicious.","items":{"type":"string"},"type":"array"},"references":{"description":"Reference URLs for the malware record.","items":{"$ref":"#/components/schemas/VulnSpecReference"},"type":"array"},"source":{"$ref":"#/components/schemas/SpecMalwareSource"},"status":{"description":"Status of the malware record.","type":"string"},"summary":{"description":"Summary of the malware record.","type":"string"},"upsert_key":{"description":"The upsert key of the malware record. This will be ecosystem+package_name_version for specific version type records.\nFor range type records, it will be ecosystem+package_name.","type":"string"},"version":{"$ref":"#/components/schemas/SpecMalwareVersion"}},"required":["ecosystem","package_name"],"type":"object"},"v1MalwareWorkflowLLMConfig":{"description":"MalwareWorkflowLLMConfig carries the LLM-specific settings for a signal that is backed by a language model.","properties":{"max_tokens":{"description":"Maximum number of output tokens the model may generate.","format":"int32","type":"integer"},"model":{"description":"Model identifier used for inference, e.g. \"vertex_ai/gemini-2.0-flash\".","type":"string"},"prompt_template":{"description":"Go template name to render the prompt; defaults to the signal class default when absent.","type":"string"},"save_prompt":{"description":"When true, the rendered prompt is persisted alongside the assessment for audit and replay.","type":"boolean"},"temperature":{"description":"Sampling temperature controlling output randomness (0.0 – 2.0).","format":"double","type":"number"},"thinking_level":{"$ref":"#/components/schemas/v1MalwareWorkflowLLMConfigThinkingLevel"}},"type":"object"},"v1MalwareWorkflowLLMConfigThinkingLevel":{"default":"THINKING_LEVEL_UNSPECIFIED","description":"ThinkingLevel controls the depth of reasoning a model applies before producing a response.\n\n - THINKING_LEVEL_UNSPECIFIED: No thinking level has been set; the model uses its default behavior.\n - THINKING_LEVEL_AUTO: The model selects the appropriate thinking depth automatically.\n - THINKING_LEVEL_LOW: Minimal reasoning; faster and cheaper, suited for straightforward signals.\n - THINKING_LEVEL_MEDIUM: Moderate reasoning; balanced between quality and cost.\n - THINKING_LEVEL_HIGH: Maximum reasoning; slower and more expensive, suited for complex verdicts.","enum":["THINKING_LEVEL_UNSPECIFIED","THINKING_LEVEL_AUTO","THINKING_LEVEL_LOW","THINKING_LEVEL_MEDIUM","THINKING_LEVEL_HIGH"],"type":"string"},"v1MavenSpec":{"description":"MavenSpec represents a configuration for the Maven package manager.","properties":{"basic_auth":{"$ref":"#/components/schemas/endorv1BasicAuth"},"id":{"description":"A string that uniquely identifies this proxy/server. This is the\nUUID of the object if not provided.","type":"string"},"is_plugin_repository":{"description":"Indicates whether the repository is a plugin or binary repository.","type":"boolean"},"mtls":{"$ref":"#/components/schemas/v1MTLSAuth"},"name":{"description":"User identifiable name for the repository. This is the name\nof the package manager if not provided.","type":"string"},"password":{"description":"An encrypted password that must be provided by the repository owner.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"},"priority":{"description":"The priority of the Maven package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"public_repository":{"description":"Indicates if cloud storage is accessible publicly.","type":"boolean"},"region":{"title":"Region to be used for cloud storage integration","type":"string"},"snapshots":{"description":"Indicates whether the repository can contain snapshot versions.","type":"boolean"},"token_auth":{"$ref":"#/components/schemas/v1TokenAuth"},"url":{"description":"The URL of the registry that the Maven package manager must use.","type":"string"},"user":{"description":"The user name to use to access this repo.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"}},"required":["priority"],"type":"object"},"v1McpDimensionThresholds":{"description":"McpDimensionThresholds holds per-dimension score thresholds for\nMcpServerActivity. Each field is optional; an unset dimension is ignored.\nSet dimensions are OR'd among themselves and with score_at_or_below:\nany single dimension at or below its threshold fires the predicate.\nDimension names mirror AgenticInventory.McpScoreDimensions.","properties":{"authentication_authorization":{"description":"Threshold for authentication \u0026 authorization (credential-less network\naccess, hardcoded secrets).","format":"float","type":"number"},"input_validation_injection":{"description":"Threshold for input validation \u0026 injection (shell/SQL/code injection,\nprompt-poisoning patterns).","format":"float","type":"number"},"operational_hygiene":{"description":"Threshold for operational hygiene (spec conformance, destructive tool\nlabeling).","format":"float","type":"number"},"supply_chain_provenance":{"description":"Threshold for supply chain \u0026 provenance (malicious packages, CVEs,\nunverified publishers, unpinned deps).","format":"float","type":"number"}},"type":"object"},"v1McpServerActivity":{"description":"McpServerActivity matches MCP servers by name patterns and/or score\nthresholds. Match logic: configured branches are AND'd — when both\nserver_name_matchers and score predicates are set, both must hold;\nwhen only one is set, only that one must hold; if neither is set,\nthe activity never matches. Within the score branch, score_at_or_below\nand every set field of dimension_at_or_below are OR'd: any single\nsatisfied threshold fires the branch. This is server-level matching;\nfor per-tool-call matching, use McpToolCallActivity.","properties":{"dimension_at_or_below":{"$ref":"#/components/schemas/v1McpDimensionThresholds"},"score_at_or_below":{"description":"Match when the overall score is at or below this threshold\n(scores are 1-10, higher = safer). OR'd with dimension_at_or_below.","format":"float","type":"number"},"server_name_matchers":{"description":"Regex matchers for MCP server name (e.g. \"untrusted-.*\", \"remote-.*\").\nAND'd with the score-predicate branch when both are configured.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1McpServerMatch":{"description":"McpServerMatch describes an MCP server that matched a policy. Carries\nonly the matched server's name; consumers can fetch the full McpMeta\nfrom AgenticInventory if more detail is needed. Server-level match;\nfor individual tool calls, see McpToolMatch.","properties":{"mcp_server_name":{"description":"Name of the MCP server that matched.","type":"string"},"message":{"description":"Describes what exactly matched (e.g. \"score at or below threshold 5\",\n\"supply_chain_provenance at or below 4\").","type":"string"}},"type":"object"},"v1McpServerSource":{"default":"MCP_SERVER_SOURCE_UNSPECIFIED","description":"McpServerSource is where an MCP server came from. Orthogonal to ServerType,\nwhich answers \"where does it run\": a vendor connector is a connector by\nsource and REMOTE by type at the same time. Declared here rather than in\nagentic_inventory.proto because that file imports this one, not the reverse.\n\n - MCP_SERVER_SOURCE_UNSPECIFIED: Not classified: no config snapshot was available to check the server\nagainst. Distinct from \"checked and absent\", which is CLIENT_INJECTED.\n - MCP_SERVER_SOURCE_PROJECT_CONFIG: Registered in the workspace's own checked-in agent config.\n - MCP_SERVER_SOURCE_USER_CONFIG: Registered in the user's home-directory agent config.\n - MCP_SERVER_SOURCE_ENTERPRISE_CONFIG: Registered in the OS-managed enterprise agent config.\n - MCP_SERVER_SOURCE_PLUGIN: Supplied by an agent plugin's manifest rather than by an mcp_servers entry.\n - MCP_SERVER_SOURCE_VENDOR_CONNECTOR: Vendor hosted connector enabled on the user's agent account, for\nexample a claude.ai connector. Never present in local config.\n - MCP_SERVER_SOURCE_CLIENT_RESERVED: A name the client reserves for one of its own built in servers, so\nuser config cannot register under it. Highest confidence verdict.\n - MCP_SERVER_SOURCE_CLIENT_INJECTED: Injected by the client at runtime but not on the reserved list: other\nproduct surfaces, IDE bridges, host applications. Absent from a config\nsnapshot that was loaded.","enum":["MCP_SERVER_SOURCE_UNSPECIFIED","MCP_SERVER_SOURCE_PROJECT_CONFIG","MCP_SERVER_SOURCE_USER_CONFIG","MCP_SERVER_SOURCE_ENTERPRISE_CONFIG","MCP_SERVER_SOURCE_PLUGIN","MCP_SERVER_SOURCE_VENDOR_CONNECTOR","MCP_SERVER_SOURCE_CLIENT_RESERVED","MCP_SERVER_SOURCE_CLIENT_INJECTED"],"type":"string"},"v1McpToolCallActivity":{"description":"McpToolCallActivity matches tool calls to a specific MCP server and tool.","properties":{"mcp_server_name":{"description":"MCP server name (e.g. \"jira\").","type":"string"},"server_name_matchers":{"description":"Optional regex matchers for MCP server name.","items":{"type":"string"},"type":"array"},"tool_input_matchers":{"description":"Optional regex matchers for tool input (e.g. \".*AI.*\").","items":{"type":"string"},"type":"array"},"tool_name":{"description":"Tool name (e.g. \"open bug\").","type":"string"},"tool_name_matchers":{"description":"Optional regex matchers for tool name.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1McpToolHook":{"description":"McpToolHook contains payload for MCP tool-related hooks.","properties":{"cmd_line":{"description":"Shell command this call runs, when the tool is a shell (Claude Desktop's\nlocal agent mode exposes server \"workspace\", tool \"bash\"). Such a call is\nindistinguishable in what it can do from the agent's own Bash tool, but the\ncommand arrives inside tool_input, where nothing that reads CmdHook.cmd_line\ncan find it. Lifting it here gives the two paths one field to read, so a\nconsumer does not have to re-derive the shell-tool vocabulary to see the\nhighest-signal action an agent takes. Empty for every non-shell tool.","type":"string"},"server_host":{"description":"Host or URL of the server (e.g. \"localhost\", \"https://api.example.com\").","type":"string"},"server_name":{"description":"Name of the server (e.g. \"filesystem\", \"postgres-mcp\", \"github-mcp\", \"enfor-cli-tools\").","type":"string"},"server_type":{"$ref":"#/components/schemas/v1ServerType"},"source":{"$ref":"#/components/schemas/v1McpServerSource"},"tool_input":{"description":"Tool invocation input; structure is tool-specific (use Struct for JSON).","type":"object"},"tool_name":{"description":"Name of the tool (e.g. \"Bash\", \"Glob\", \"AskUserQuestion\", \"Skill\").","type":"string"},"tool_response":{"description":"Tool result; structure is tool-specific (e.g. stdout/stderr or filenames).","type":"object"}},"type":"object"},"v1McpToolMatch":{"description":"McpToolMatch describes a tool call that matched a policy.","properties":{"matched_server_name_pattern":{"description":"Matched server name pattern.","type":"string"},"matched_tool_input_pattern":{"description":"Tool input pattern that matched.","type":"string"},"matched_tool_name_pattern":{"description":"Matched tool name pattern.","type":"string"},"mcp_server_name":{"description":"MCP server name (e.g. \"jira\").","type":"string"},"message":{"description":"Describes what exactly matched.","type":"string"},"tool_name":{"description":"Tool name (e.g. \"open bug\").","type":"string"}},"type":"object"},"v1Meta":{"description":"Common fields for all Endor Labs resources.","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations can be used to attach metadata to a resource message.\nAnnotation values can be small or large, structured or unstructured,\nand may include characters not permitted by labels.\nThe keys may contain alphanumerics, underscores (_), dots (.) and dashes\n(-). The values of an annotation must be 16384 bytes or smaller.","type":"object"},"create_time":{"description":"Time the resource was created.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","readOnly":true,"type":"string"},"created_by":{"description":"Name and authentication source of the user who created the object,\nfor example, ewok@endor.ai@google@api-key.","readOnly":true,"type":"string"},"description":{"description":"Resource description. Must be less than 1024 bytes.","type":"string"},"index_data":{"$ref":"#/components/schemas/v1IndexData"},"kind":{"description":"Resource kind, for example, HelloResponse.\nAuto-generated using the protobuf message proto.MessageName().Name().","readOnly":true,"type":"string"},"name":{"description":"Resource name. Must be 63 characters or less.","type":"string"},"parent_kind":{"description":"Parent object resource kind, for example, Project.","type":"string"},"parent_uuid":{"description":"Parent object UUID.","type":"string"},"references":{"additionalProperties":{"$ref":"#/components/schemas/googleprotobufAny"},"description":"Map of objects referenced in a query API.","readOnly":true,"type":"object"},"tags":{"description":"List of tags attached to the resource.\nTags can be used to select objects and to find collections of objects that\nsatisfy certain conditions. A tag must be 255 characters or less.","items":{"type":"string"},"type":"array"},"update_time":{"description":"Time the resource was last updated.\nNote: Updated on all create/patch/delete operations.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","readOnly":true,"type":"string"},"updated_by":{"description":"Name and authentication source of the last user who updated the object,\nfor example, vulnerabilityingestor@endor.ai@x509.","readOnly":true,"type":"string"},"upsert_time":{"description":"Time the resource was last upserted.\n\nNote:\ncreate_time is only set the first time the resource is created.\nupsert_time is set every time the resource is upseted.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","readOnly":true,"type":"string"},"version":{"description":"Message version.","readOnly":true,"type":"string"}},"required":["name"],"type":"object"},"v1Method":{"default":"METHOD_UNSPECIFIED","description":"The type of allowed action.\n\n - METHOD_READ: METHOD_READ is for LIST/GET\n - METHOD_CREATE: METHOD_CREATE is for POST\n - METHOD_UPDATE: METHOD_UPDATE is for PATCH\n - METHOD_DELETE: METHOD_DELETE is for DELETE\n - METHOD_ALL: METHOD_ALL is for all methods (essentially *)","enum":["METHOD_UNSPECIFIED","METHOD_READ","METHOD_CREATE","METHOD_UPDATE","METHOD_DELETE","METHOD_ALL"],"type":"string"},"v1MetricConfiguration":{"description":"This message contains the definition all metrics configurations.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1MetricConfigurationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the metric.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1MetricConfigurationSpec":{"description":"The internal specification of the metric configuration.","properties":{"category":{"description":"The categories of metrics available for this kind.","items":{"type":"string"},"type":"array"},"enabled":{"description":"Whether this metric is enabled in the current configuration or not.","type":"boolean"},"options":{"description":"The parameteres used for the calculations. This is\na read only object at this time.","readOnly":true,"type":"object"},"type":{"description":"Type is the kind of metric available.","type":"string"}},"type":"object"},"v1MetricSpec":{"properties":{"analytic":{"description":"The name of the analytic used to generate this specific metric.","type":"string"},"metric_values":{"additionalProperties":{"$ref":"#/components/schemas/v1MetricValue"},"description":"A map of metric values.\nThese values include scores and score factors.","type":"object"},"project_uuid":{"description":"The UUID of the project to which this metric relates.","type":"string"},"raw":{"description":"This is a superset of the information included in the specification.","type":"object"}},"required":["analytic","project_uuid","metric_values"],"type":"object"},"v1MetricValue":{"description":"The value of the metric and the associated category.","properties":{"category":{"description":"Meteric value categories.","type":"string"},"ci_cd_tools":{"$ref":"#/components/schemas/v1CiCdTools"},"cis_scorecard":{"$ref":"#/components/schemas/v1CisScorecard"},"dependency_stats":{"$ref":"#/components/schemas/v1DependencyStats"},"description":{"description":"Description of the metric value.","type":"string"},"file_stats":{"$ref":"#/components/schemas/v1FileStats"},"float_value":{"format":"float","type":"number"},"github_workflows":{"$ref":"#/components/schemas/v1GitHubWorkflows"},"int32_value":{"format":"int32","type":"integer"},"int64_value":{"format":"int64","type":"string"},"license_info":{"$ref":"#/components/schemas/v1LicenseData"},"linter_stats":{"$ref":"#/components/schemas/v1LinterStats"},"pr_security_review_result_info":{"$ref":"#/components/schemas/v1PullRequestSecurityReviewResultInfo"},"score_card":{"$ref":"#/components/schemas/v1ScoreCard"},"score_factor_list":{"$ref":"#/components/schemas/v1ScoreFactorList"},"scpm_data":{"$ref":"#/components/schemas/v1ScpmData"},"secret_stats":{"$ref":"#/components/schemas/v1SecretStats"},"string_value":{"type":"string"},"tag_counts":{"$ref":"#/components/schemas/v1TagCounts"},"time_tracker":{"$ref":"#/components/schemas/v1TimeTracker"},"vulnerability_stats":{"$ref":"#/components/schemas/v1VulnerabilityStats"}},"required":["description"],"type":"object"},"v1ModelSpec":{"properties":{"external_installation_id":{"description":"Endor Labs Hugging Face installation ID of this project.\nOptional and only available if the project is created through an installation.","type":"string"},"full_name":{"description":"The author and model name.\nFor example, author/model_name.","type":"string"},"http_clone_url":{"description":"The HTTP clone URL of the project.\nFor example, https://huggingface.co/openai-community/gpt2.","type":"string"},"provider":{"$ref":"#/components/schemas/v1AIModelProvider"}},"required":["full_name"],"type":"object"},"v1ModifierChangeType":{"default":"MODIFIER_CHANGE_TYPE_UNSPECIFIED","description":"Protobuf definition for ModifierChangeType.","enum":["MODIFIER_CHANGE_TYPE_UNSPECIFIED","MODIFIER_CHANGE_TYPE_SIGNATURE","MODIFIER_CHANGE_TYPE_TO_ABSTRACT","MODIFIER_CHANGE_TYPE_TO_FINAL","MODIFIER_CHANGE_TYPE_PUBLIC_TO_PROTECTED","MODIFIER_CHANGE_TYPE_PUBLIC_TO_PRIVATE","MODIFIER_CHANGE_TYPE_PROTECTED_TO_PRIVATE","MODIFIER_CHANGE_TYPE_TO_STATIC","MODIFIER_CHANGE_TYPE_TO_NONSTATIC"],"type":"string"},"v1NPMSpec":{"description":"NPMSpec represents a configuration for the Node package manager.","properties":{"auth_token":{"description":"An auth token that cloud providers typically provide to connect to the\nregistry.","type":"string"},"mtls":{"$ref":"#/components/schemas/v1MTLSAuth"},"priority":{"description":"The priority of the Node package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"scope":{"title":"A private registry scope.\nEx: @myorg/pkg\nmyorg is the scope","type":"string"},"token":{"description":"A base64 encoded user name and password as token.","type":"string"},"url":{"description":"The URL of the registry that NPM must use.","type":"string"}},"required":["priority"],"type":"object"},"v1NVDAttackComplexity":{"default":"NVD_ATTACK_COMPLEXITY_UNSPECIFIED","enum":["NVD_ATTACK_COMPLEXITY_UNSPECIFIED","NVD_ATTACK_COMPLEXITY_HIGH","NVD_ATTACK_COMPLEXITY_LOW"],"type":"string"},"v1NVDAttackVector":{"default":"NVD_ATTACK_VECTOR_UNSPECIFIED","enum":["NVD_ATTACK_VECTOR_UNSPECIFIED","NVD_ATTACK_VECTOR_NETWORK","NVD_ATTACK_VECTOR_ADJACENT_NETWORK","NVD_ATTACK_VECTOR_LOCAL","NVD_ATTACK_VECTOR_PHYSICAL"],"type":"string"},"v1NVDExploitCodeMaturity":{"default":"NVD_EXPLOIT_CODE_MATURITY_UNSPECIFIED","enum":["NVD_EXPLOIT_CODE_MATURITY_UNSPECIFIED","NVD_EXPLOIT_CODE_MATURITY_UNPROVEN","NVD_EXPLOIT_CODE_MATURITY_PROOF_OF_CONCEPT","NVD_EXPLOIT_CODE_MATURITY_FUNCTIONAL","NVD_EXPLOIT_CODE_MATURITY_HIGH","NVD_EXPLOIT_CODE_MATURITY_NOT_DEFINED"],"type":"string"},"v1NVDImpact":{"default":"NVD_IMPACT_UNSPECIFIED","enum":["NVD_IMPACT_UNSPECIFIED","NVD_IMPACT_NONE","NVD_IMPACT_LOW","NVD_IMPACT_HIGH"],"type":"string"},"v1NVDMetricType":{"default":"NVD_METRIC_TYPE_UNSPECIFIED","enum":["NVD_METRIC_TYPE_UNSPECIFIED","NVD_METRIC_TYPE_PRIMARY","NVD_METRIC_TYPE_SECONDARY"],"type":"string"},"v1NVDModifiedAttackComplexity":{"default":"NVD_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED","enum":["NVD_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED","NVD_MODIFIED_ATTACK_COMPLEXITY_HIGH","NVD_MODIFIED_ATTACK_COMPLEXITY_LOW","NVD_MODIFIED_ATTACK_COMPLEXITY_NOT_DEFINED"],"type":"string"},"v1NVDModifiedAttackVector":{"default":"NVD_MODIFIED_ATTACK_VECTOR_UNSPECIFIED","enum":["NVD_MODIFIED_ATTACK_VECTOR_UNSPECIFIED","NVD_MODIFIED_ATTACK_VECTOR_NETWORK","NVD_MODIFIED_ATTACK_VECTOR_ADJACENT_NETWORK","NVD_MODIFIED_ATTACK_VECTOR_LOCAL","NVD_MODIFIED_ATTACK_VECTOR_PHYSICAL","NVD_MODIFIED_ATTACK_VECTOR_NOT_DEFINED"],"type":"string"},"v1NVDModifiedImpact":{"default":"NVD_MODIFIED_IMPACT_UNSPECIFIED","enum":["NVD_MODIFIED_IMPACT_UNSPECIFIED","NVD_MODIFIED_IMPACT_NONE","NVD_MODIFIED_IMPACT_LOW","NVD_MODIFIED_IMPACT_HIGH","NVD_MODIFIED_IMPACT_NOT_DEFINED"],"type":"string"},"v1NVDModifiedPrivilegesRequired":{"default":"NVD_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED","enum":["NVD_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED","NVD_MODIFIED_PRIVILEGES_REQUIRED_HIGH","NVD_MODIFIED_PRIVILEGES_REQUIRED_LOW","NVD_MODIFIED_PRIVILEGES_REQUIRED_NONE","NVD_MODIFIED_PRIVILEGES_REQUIRED_NOT_DEFINED"],"type":"string"},"v1NVDModifiedScope":{"default":"NVD_MODIFIED_SCOPE_UNSPECIFIED","enum":["NVD_MODIFIED_SCOPE_UNSPECIFIED","NVD_MODIFIED_SCOPE_UNCHANGED","NVD_MODIFIED_SCOPE_CHANGED","NVD_MODIFIED_SCOPE_NOT_DEFINED"],"type":"string"},"v1NVDModifiedUserInteraction":{"default":"NVD_MODIFIED_USER_INTERACTION_UNSPECIFIED","enum":["NVD_MODIFIED_USER_INTERACTION_UNSPECIFIED","NVD_MODIFIED_USER_INTERACTION_NONE","NVD_MODIFIED_USER_INTERACTION_REQUIRED","NVD_MODIFIED_USER_INTERACTION_NOT_DEFINED"],"type":"string"},"v1NVDPrivilegesRequired":{"default":"NVD_PRIVILEGES_REQUIRED_UNSPECIFIED","enum":["NVD_PRIVILEGES_REQUIRED_UNSPECIFIED","NVD_PRIVILEGES_REQUIRED_HIGH","NVD_PRIVILEGES_REQUIRED_LOW","NVD_PRIVILEGES_REQUIRED_NONE"],"type":"string"},"v1NVDRemediationLevel":{"default":"NVD_REMEDIATION_LEVEL_UNSPECIFIED","enum":["NVD_REMEDIATION_LEVEL_UNSPECIFIED","NVD_REMEDIATION_LEVEL_OFFICIAL_FIX","NVD_REMEDIATION_LEVEL_TEMPORARY_FIX","NVD_REMEDIATION_LEVEL_WORKAROUND","NVD_REMEDIATION_LEVEL_UNAVAILABLE","NVD_REMEDIATION_LEVEL_NOT_DEFINED"],"type":"string"},"v1NVDReportConfidence":{"default":"NVD_REPORT_CONFIDENCE_UNSPECIFIED","enum":["NVD_REPORT_CONFIDENCE_UNSPECIFIED","NVD_REPORT_CONFIDENCE_UNKNOWN","NVD_REPORT_CONFIDENCE_REASONABLE","NVD_REPORT_CONFIDENCE_CONFIRMED","NVD_REPORT_CONFIDENCE_NOT_DEFINED"],"type":"string"},"v1NVDRequirement":{"default":"NVD_REQUIREMENT_UNSPECIFIED","enum":["NVD_REQUIREMENT_UNSPECIFIED","NVD_REQUIREMENT_LOW","NVD_REQUIREMENT_MEDIUM","NVD_REQUIREMENT_HIGH","NVD_REQUIREMENT_NOT_DEFINED"],"type":"string"},"v1NVDScope":{"default":"NVD_SCOPE_UNSPECIFIED","enum":["NVD_SCOPE_UNSPECIFIED","NVD_SCOPE_UNCHANGED","NVD_SCOPE_CHANGED"],"type":"string"},"v1NVDSeverity":{"default":"NVD_SEVERITY_UNSPECIFIED","enum":["NVD_SEVERITY_UNSPECIFIED","NVD_SEVERITY_NONE","NVD_SEVERITY_LOW","NVD_SEVERITY_MEDIUM","NVD_SEVERITY_HIGH","NVD_SEVERITY_CRITICAL"],"type":"string"},"v1NVDStatus":{"default":"NVD_STATUS_UNSPECIFIED","enum":["NVD_STATUS_UNSPECIFIED","NVD_STATUS_RECEIVED","NVD_STATUS_AWAITING_ANALYSIS","NVD_STATUS_UNDERGOING_ANALYSIS","NVD_STATUS_ANALYZED","NVD_STATUS_MODIFIED","NVD_STATUS_DEFERRED","NVD_STATUS_REJECTED"],"type":"string"},"v1NVDUserInteraction":{"default":"NVD_USER_INTERACTION_UNSPECIFIED","enum":["NVD_USER_INTERACTION_UNSPECIFIED","NVD_USER_INTERACTION_NONE","NVD_USER_INTERACTION_REQUIRED"],"type":"string"},"v1NVDV40AttackComplexity":{"default":"NVDV40_ATTACK_COMPLEXITY_UNSPECIFIED","enum":["NVDV40_ATTACK_COMPLEXITY_UNSPECIFIED","NVDV40_ATTACK_COMPLEXITY_HIGH","NVDV40_ATTACK_COMPLEXITY_LOW"],"type":"string"},"v1NVDV40AttackRequirements":{"default":"NVDV40_ATTACK_REQUIREMENTS_UNSPECIFIED","enum":["NVDV40_ATTACK_REQUIREMENTS_UNSPECIFIED","NVDV40_ATTACK_REQUIREMENTS_NONE","NVDV40_ATTACK_REQUIREMENTS_PRESENT"],"type":"string"},"v1NVDV40AttackVector":{"default":"NVDV40_ATTACK_VECTOR_UNSPECIFIED","enum":["NVDV40_ATTACK_VECTOR_UNSPECIFIED","NVDV40_ATTACK_VECTOR_NETWORK","NVDV40_ATTACK_VECTOR_ADJACENT","NVDV40_ATTACK_VECTOR_LOCAL","NVDV40_ATTACK_VECTOR_PHYSICAL"],"type":"string"},"v1NVDV40Automatable":{"default":"NVDV40_AUTOMATABLE_UNSPECIFIED","enum":["NVDV40_AUTOMATABLE_UNSPECIFIED","NVDV40_AUTOMATABLE_NO","NVDV40_AUTOMATABLE_YES","NVDV40_AUTOMATABLE_NOT_DEFINED"],"type":"string"},"v1NVDV40ExploitMaturity":{"default":"NVDV40_EXPLOIT_MATURITY_UNSPECIFIED","enum":["NVDV40_EXPLOIT_MATURITY_UNSPECIFIED","NVDV40_EXPLOIT_MATURITY_UNREPORTED","NVDV40_EXPLOIT_MATURITY_PROOF_OF_CONCEPT","NVDV40_EXPLOIT_MATURITY_ATTACKED","NVDV40_EXPLOIT_MATURITY_NOT_DEFINED"],"type":"string"},"v1NVDV40Impact":{"default":"NVDV40_IMPACT_UNSPECIFIED","enum":["NVDV40_IMPACT_UNSPECIFIED","NVDV40_IMPACT_NONE","NVDV40_IMPACT_LOW","NVDV40_IMPACT_HIGH"],"type":"string"},"v1NVDV40ModifiedAttackComplexity":{"default":"NVDV40_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED","enum":["NVDV40_MODIFIED_ATTACK_COMPLEXITY_UNSPECIFIED","NVDV40_MODIFIED_ATTACK_COMPLEXITY_HIGH","NVDV40_MODIFIED_ATTACK_COMPLEXITY_LOW","NVDV40_MODIFIED_ATTACK_COMPLEXITY_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedAttackRequirements":{"default":"NVDV40_MODIFIED_ATTACK_REQUIREMENTS_UNSPECIFIED","enum":["NVDV40_MODIFIED_ATTACK_REQUIREMENTS_UNSPECIFIED","NVDV40_MODIFIED_ATTACK_REQUIREMENTS_NONE","NVDV40_MODIFIED_ATTACK_REQUIREMENTS_PRESENT","NVDV40_MODIFIED_ATTACK_REQUIREMENTS_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedAttackVector":{"default":"NVDV40_MODIFIED_ATTACK_VECTOR_UNSPECIFIED","enum":["NVDV40_MODIFIED_ATTACK_VECTOR_UNSPECIFIED","NVDV40_MODIFIED_ATTACK_VECTOR_NETWORK","NVDV40_MODIFIED_ATTACK_VECTOR_ADJACENT","NVDV40_MODIFIED_ATTACK_VECTOR_LOCAL","NVDV40_MODIFIED_ATTACK_VECTOR_PHYSICAL","NVDV40_MODIFIED_ATTACK_VECTOR_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedImpact":{"default":"NVDV40_MODIFIED_IMPACT_UNSPECIFIED","enum":["NVDV40_MODIFIED_IMPACT_UNSPECIFIED","NVDV40_MODIFIED_IMPACT_NONE","NVDV40_MODIFIED_IMPACT_LOW","NVDV40_MODIFIED_IMPACT_HIGH","NVDV40_MODIFIED_IMPACT_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedPrivilegesRequired":{"default":"NVDV40_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED","enum":["NVDV40_MODIFIED_PRIVILEGES_REQUIRED_UNSPECIFIED","NVDV40_MODIFIED_PRIVILEGES_REQUIRED_HIGH","NVDV40_MODIFIED_PRIVILEGES_REQUIRED_LOW","NVDV40_MODIFIED_PRIVILEGES_REQUIRED_NONE","NVDV40_MODIFIED_PRIVILEGES_REQUIRED_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedSubImpact":{"default":"NVDV40_MODIFIED_SUB_IMPACT_UNSPECIFIED","enum":["NVDV40_MODIFIED_SUB_IMPACT_UNSPECIFIED","NVDV40_MODIFIED_SUB_IMPACT_NEGLIGIBLE","NVDV40_MODIFIED_SUB_IMPACT_LOW","NVDV40_MODIFIED_SUB_IMPACT_HIGH","NVDV40_MODIFIED_SUB_IMPACT_SAFETY","NVDV40_MODIFIED_SUB_IMPACT_NOT_DEFINED"],"type":"string"},"v1NVDV40ModifiedUserInteraction":{"default":"NVDV40_MODIFIED_USER_INTERACTION_UNSPECIFIED","enum":["NVDV40_MODIFIED_USER_INTERACTION_UNSPECIFIED","NVDV40_MODIFIED_USER_INTERACTION_NONE","NVDV40_MODIFIED_USER_INTERACTION_PASSIVE","NVDV40_MODIFIED_USER_INTERACTION_ACTIVE","NVDV40_MODIFIED_USER_INTERACTION_NOT_DEFINED"],"type":"string"},"v1NVDV40PrivilegesRequired":{"default":"NVDV40_PRIVILEGES_REQUIRED_UNSPECIFIED","enum":["NVDV40_PRIVILEGES_REQUIRED_UNSPECIFIED","NVDV40_PRIVILEGES_REQUIRED_HIGH","NVDV40_PRIVILEGES_REQUIRED_LOW","NVDV40_PRIVILEGES_REQUIRED_NONE"],"type":"string"},"v1NVDV40ProviderUrgency":{"default":"NVDV40_PROVIDER_URGENCY_UNSPECIFIED","enum":["NVDV40_PROVIDER_URGENCY_UNSPECIFIED","NVDV40_PROVIDER_URGENCY_CLEAR","NVDV40_PROVIDER_URGENCY_GREEN","NVDV40_PROVIDER_URGENCY_AMBER","NVDV40_PROVIDER_URGENCY_RED","NVDV40_PROVIDER_URGENCY_NOT_DEFINED"],"type":"string"},"v1NVDV40Recovery":{"default":"NVDV40_RECOVERY_UNSPECIFIED","enum":["NVDV40_RECOVERY_UNSPECIFIED","NVDV40_RECOVERY_AUTOMATIC","NVDV40_RECOVERY_USER","NVDV40_RECOVERY_IRRECOVERABLE","NVDV40_RECOVERY_NOT_DEFINED"],"type":"string"},"v1NVDV40Requirement":{"default":"NVDV40_REQUIREMENT_UNSPECIFIED","enum":["NVDV40_REQUIREMENT_UNSPECIFIED","NVDV40_REQUIREMENT_LOW","NVDV40_REQUIREMENT_MEDIUM","NVDV40_REQUIREMENT_HIGH","NVDV40_REQUIREMENT_NOT_DEFINED"],"type":"string"},"v1NVDV40Safety":{"default":"NVDV40_SAFETY_UNSPECIFIED","enum":["NVDV40_SAFETY_UNSPECIFIED","NVDV40_SAFETY_NEGLIGIBLE","NVDV40_SAFETY_PRESENT","NVDV40_SAFETY_NOT_DEFINED"],"type":"string"},"v1NVDV40UserInteraction":{"default":"NVDV40_USER_INTERACTION_UNSPECIFIED","enum":["NVDV40_USER_INTERACTION_UNSPECIFIED","NVDV40_USER_INTERACTION_NONE","NVDV40_USER_INTERACTION_PASSIVE","NVDV40_USER_INTERACTION_ACTIVE"],"type":"string"},"v1NVDV40ValueDensity":{"default":"NVDV40_VALUE_DENSITY_UNSPECIFIED","enum":["NVDV40_VALUE_DENSITY_UNSPECIFIED","NVDV40_VALUE_DENSITY_DIFFUSE","NVDV40_VALUE_DENSITY_CONCENTRATED","NVDV40_VALUE_DENSITY_NOT_DEFINED"],"type":"string"},"v1NVDV40VulnerabilityResponseEffort":{"default":"NVDV40_VULNERABILITY_RESPONSE_EFFORT_UNSPECIFIED","enum":["NVDV40_VULNERABILITY_RESPONSE_EFFORT_UNSPECIFIED","NVDV40_VULNERABILITY_RESPONSE_EFFORT_LOW","NVDV40_VULNERABILITY_RESPONSE_EFFORT_MODERATE","NVDV40_VULNERABILITY_RESPONSE_EFFORT_HIGH","NVDV40_VULNERABILITY_RESPONSE_EFFORT_NOT_DEFINED"],"type":"string"},"v1NVDVulnerability":{"description":"NVD Vulnerability.\nBased on schema definition provided by NVD here. https://csrc.nist.gov/schema/nvd/api/2.0/cve_api_json_2.0.schema.","properties":{"cve":{"$ref":"#/components/schemas/NVDVulnerabilityRootCve"}},"type":"object"},"v1Namespace":{"description":"Namespace provides a mechanism for isolating groups of resources.\nNamespaces may be defined in a parent child hierarchy.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NamespaceSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a namespace.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1NamespaceSpec":{"properties":{"full_name":{"description":"The fully qualified name of a namespace,\nwhich identifies the namespace and the associated\nhierarchy. For example, endord.dev.domain.\nThe field is auto-generated at creation.","readOnly":true,"type":"string"},"managed":{"description":"Managed indicates that the object is managed by the system.","type":"boolean"}},"type":"object"},"v1Notification":{"description":"The record created when there is a policy violation.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1NotificationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a notification.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1NotificationActionData":{"properties":{"error_status":{"description":"Error provided by the notification action.","type":"string"},"is_ignored":{"description":"Is the notification ignored by the plugin.","type":"boolean"},"last_failed_at":{"description":"Timestamp of the last failed action attempt, used for exponential backoff.","format":"date-time","type":"string"},"metadata":{"$ref":"#/components/schemas/v1NotificationActionDataMetadata"},"notification_target_type":{"$ref":"#/components/schemas/NotificationTargetActionActionType"},"open_action_complete":{"description":"The value is true when action related to opening a new notification action is successfully executed.","type":"boolean"},"resolve_action_complete":{"description":"The value is true when action related to resolving an notification is successfully executed.","type":"boolean"},"retry_count":{"description":"Number of times the action has been retried after failure.","format":"int64","type":"integer"},"update_action_complete":{"description":"The value is true when action related to updating an existing notification is successfully executed.","type":"boolean"}},"type":"object"},"v1NotificationActionDataMetadata":{"properties":{"data":{"$ref":"#/components/schemas/googleprotobufAny"}},"type":"object"},"v1NotificationActionResponse":{"properties":{"result":{"$ref":"#/components/schemas/v1NotificationActionDataMetadata"}},"type":"object"},"v1NotificationActionSpec":{"properties":{"notification":{"$ref":"#/components/schemas/v1Notification"},"notification_target_uuid":{"description":"The UUID of the notification target which contains the action to be performed for the notification.","type":"string"},"operation":{"$ref":"#/components/schemas/v1NotificationPluginOperation"}},"required":["notification","notification_target_uuid","operation"],"type":"object"},"v1NotificationDiff":{"properties":{"new_finding_uuids":{"items":{"type":"string"},"type":"array"},"resolved_finding_uuids":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1NotificationPayload":{"properties":{"policy_output":{"$ref":"#/components/schemas/v1PolicyOutput"}},"type":"object"},"v1NotificationPluginOperation":{"default":"NOTIFICATION_PLUGIN_OPERATION_UNSPECIFIED","description":" - NOTIFICATION_PLUGIN_OPERATION_OPEN: Corresponds to creating a new notification.\n - NOTIFICATION_PLUGIN_OPERATION_UPDATE: Corresponds to updating an existing notification.\n - NOTIFICATION_PLUGIN_OPERATION_RESOLVE: Corresponds to resolving a notification.","enum":["NOTIFICATION_PLUGIN_OPERATION_UNSPECIFIED","NOTIFICATION_PLUGIN_OPERATION_OPEN","NOTIFICATION_PLUGIN_OPERATION_UPDATE","NOTIFICATION_PLUGIN_OPERATION_RESOLVE"],"type":"string"},"v1NotificationSpec":{"properties":{"aggregation_details":{"$ref":"#/components/schemas/SpecAggregationDetails"},"diff":{"$ref":"#/components/schemas/v1NotificationDiff"},"dismiss":{"$ref":"#/components/schemas/SpecNotificationDismiss"},"finding_details":{"additionalProperties":{"$ref":"#/components/schemas/SpecFindingDetails"},"description":"The map of finding UUID to finding object.","type":"object"},"hashsum":{"description":"The SHA-256 hash sum of the notification payload.\nThe notification payload is a list of UUIDs (of say Findings/Metrics) and/or\nan opaque blob. The list of UUIDs and the opaque data is used as input for the hashing function.\n\nThe hashsum is used to determine if the latest notification payload has changed\nso as to update the notification target when there is a change.","readOnly":true,"type":"string"},"last_seen_at":{"description":"The time when the notification was last raised.","format":"date-time","type":"string"},"notification_action_data":{"additionalProperties":{"$ref":"#/components/schemas/v1NotificationActionData"},"description":"A map of metadata related to the notification action, indexed by the notification target UUID.\n\nIt maintains the following information related to every notification target.\n\n- Flags to determine if an action related to a notification target\n  is successfully completed or not.  If not, the action\n  is retried in subsequent attempts. Flags are maintained for\n  actions related to OPEN/UPDATE/RESOLVE.\n- Metadata specific to a notification target type. Some of\n  the notification target types need to maintain state so that\n  subsequent updates to the notifications can operate on the\n  same entity created by the notification. For example, JIRA\n  updates needs to be performed on the same JIRA issue and\n  hence the need to store JIRA ID.","type":"object"},"notification_external_ids":{"description":"The ids/keys of the tickets created by notification.","items":{"type":"string"},"type":"array"},"payload":{"$ref":"#/components/schemas/v1NotificationPayload"},"policy_type":{"$ref":"#/components/schemas/PolicyPolicyType"},"policy_uuid":{"description":"The UUID of the policy to which this notification belongs.\nOptional.\nNotifications created directly from findings do not have policy_uuid.","type":"string"},"project_uuid":{"description":"The UUID of the project to which this notification belongs.","type":"string"},"remediation_parameters":{"$ref":"#/components/schemas/v1RemediationParameters"},"repository_version_uuid":{"description":"The UUID of the repository version to which this notification belongs.","type":"string"},"resolved_at":{"description":"The time when the notification was marked resolved.","format":"date-time","type":"string"},"state":{"$ref":"#/components/schemas/SpecNotificationState"}},"required":["state","project_uuid"],"type":"object"},"v1NotificationTarget":{"description":"Indicates actions taken when a corresponding notification is raised.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1NotificationTargetSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the notification target.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1NotificationTargetSpec":{"properties":{"action":{"$ref":"#/components/schemas/NotificationTargetNotificationTargetAction"},"custom_template":{"$ref":"#/components/schemas/v1CustomTemplate"}},"required":["action"],"type":"object"},"v1NugetSpec":{"description":"NugetSpec represents a configuration for the NuGet package manager.","properties":{"basic_auth":{"$ref":"#/components/schemas/endorv1BasicAuth"},"password":{"description":"An encrypted password that must be provided by the repository owner.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"},"priority":{"description":"The priority of the NuGet package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"token_auth":{"$ref":"#/components/schemas/v1TokenAuth"},"url":{"description":"The URL of the registry that the NuGet package manager must use.","type":"string"},"user":{"description":"The username to use to access this repository.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"}},"required":["priority"],"type":"object"},"v1OAuthClientCredentialsAuthConfig":{"description":"OAuthClientCredentialsAuthConfig configures OAuth 2.0 client credentials authentication.","properties":{"auth_endpoint_url":{"description":"auth_endpoint_url is the OAuth token endpoint URL.\nIf not specified, defaults may be vendor-specific.","type":"string"},"client_id":{"description":"client_id is the OAuth client ID for authentication.","type":"string"},"client_secret":{"description":"client_secret is the OAuth client secret for authentication.\nThis field is handled securely and stored encrypted.","type":"string"}},"required":["client_id","client_secret"],"type":"object"},"v1OSSDependencyRequest":{"description":"Represents a request to create OSS dependencies in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OSSDependencyRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the SBOM.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1OSSDependencyRequestSpec":{"properties":{"dependencies":{"description":"The list of dependencies to be created as OSS dependencies.","items":{"$ref":"#/components/schemas/BomDependency"},"type":"array"}},"type":"object"},"v1OnPremScheduler":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OnPremSchedulerSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the onprem scheduler.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1OnPremSchedulerSpec":{"properties":{"api_credentials":{"$ref":"#/components/schemas/v1AuthMethodAPICredentials"},"azure":{"$ref":"#/components/schemas/v1AuthMethodAzure"},"connection_status":{"$ref":"#/components/schemas/SpecConnectionStatus"},"endorctl_config":{"$ref":"#/components/schemas/SpecEndorctlConfig"},"gcp":{"$ref":"#/components/schemas/v1AuthMethodGCP"},"helm_values":{"description":"Contains the base64 encoded helm values.yaml file.","readOnly":true,"type":"string"},"scheduler_config":{"$ref":"#/components/schemas/SpecSchedulerConfig"},"scheduler_version":{"description":"Contains the version of the scheduler.","type":"string"},"use_bazel_cache":{"description":"Enables bazel remote cache.","type":"boolean"}},"type":"object"},"v1Onboard":{"description":"Onboard initiates the onboarding of a new tenant in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OnboardSpec"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1OnboardSpec":{"properties":{"invitation_uuid":{"description":"The UUID of an invitation.\nIn this case, a new tenant is not created, but the user joins\nthe tenant referred by the invitation.","type":"string"},"sr_created_by":{"description":"The email address of the person who created the service request.","type":"string"},"tenant":{"$ref":"#/components/schemas/v1Tenant"},"user":{"$ref":"#/components/schemas/v1User"}},"type":"object"},"v1OpengrepSeverityLevel":{"default":"OPENGREP_SEVERITY_LEVEL_UNSPECIFIED","description":"OpengrepSeverityLevel is the minimum rule severity threshold for diff-based signals.\n\n - OPENGREP_SEVERITY_LEVEL_UNSPECIFIED: No severity level has been set; the signal uses its default threshold.\n - OPENGREP_SEVERITY_LEVEL_INFO: Report informational findings and above.\n - OPENGREP_SEVERITY_LEVEL_WARNING: Report warning findings and above.\n - OPENGREP_SEVERITY_LEVEL_ERROR: Report only error-level findings.","enum":["OPENGREP_SEVERITY_LEVEL_UNSPECIFIED","OPENGREP_SEVERITY_LEVEL_INFO","OPENGREP_SEVERITY_LEVEL_WARNING","OPENGREP_SEVERITY_LEVEL_ERROR"],"type":"string"},"v1OptimizedQuery":{"description":"OptimizedQuery attempts to break queries into smaller queries\nbased on child namespaces so as to not hit mongodb limits.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OptimizedQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1OptimizedQuerySpec":{"properties":{"query":{"$ref":"#/components/schemas/OptimizedQueryOptimizedQuerySpec"},"query_response":{"$ref":"#/components/schemas/googleprotobufAny"}},"type":"object"},"v1Organization":{"description":"The ingested information about an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"}},"required":["ingested_object"],"type":"object"},"v1OrganizationAccess":{"description":"OrganizationAccess contains normalized organization access settings.","properties":{"action_policies":{"$ref":"#/components/schemas/v1ActionPolicies"},"admins":{"description":"List of all organization administrator usernames.","items":{"type":"string"},"type":"array"},"allow_internal_repo_create":{"description":"Allows members to create internal repositories.","type":"boolean"},"allow_private_repo_create":{"description":"Allows members to create private repositories.","type":"boolean"},"allow_private_repo_fork":{"description":"Allows members to fork private repositories.","type":"boolean"},"allow_public_repo_create":{"description":"Allows members to create public repositories.","type":"boolean"},"default_workflow_permissions":{"description":"Default GITHUB_TOKEN permissions for workflows.\nCan be one of: \"read\", \"write\".","type":"string"},"mfa_external":{"description":"Multi-factor authentication is required for external contributors.","type":"boolean"},"mfa_internal":{"description":"Multi-factor authentication is required for internal contributors.","type":"boolean"},"repo_edit_permission":{"description":"Default permission required to execute EDIT commands on repository.\nCan be one of: \"read\", \"write\", \"admin\", \"none\".","type":"string"},"repo_get_permission":{"description":"Default permission required to run GET queries on repository.\nCan be one of: \"read\", \"write\", \"admin\", \"none\".","type":"string"},"runner_group":{"description":"List of all organization runners.","items":{"$ref":"#/components/schemas/ScpmDataRunner"},"type":"array"},"verified":{"description":"Organization is verified.","type":"boolean"},"webhooks":{"description":"List of all organization webhooks.","items":{"$ref":"#/components/schemas/ScpmDataWebhook"},"type":"array"},"workflows_can_approve_prs":{"description":"Allows workflows to approve pull request reviews.","type":"boolean"}},"type":"object"},"v1OrganizationAllowedWorkflows":{"description":"Represents the information of allowed workflows of an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflowsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an organization allowed workflows object.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationAllowedWorkflowsSpec":{"type":"object"},"v1OrganizationBlockList":{"description":"Represents the information about the blocked user list of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationBlockListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an organization's block list.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationBlockListSpec":{"type":"object"},"v1OrganizationCICDPermissions":{"description":"Capture the permissions policy configuration for repositories.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCICDPermissionsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the CI/CD permissions object in a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationCICDPermissionsSpec":{"type":"object"},"v1OrganizationCustomPermissionList":{"description":"Represents the ingested information about the custom fine grained permissions of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the organization custom permission list.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationCustomPermissionListSpec":{"type":"object"},"v1OrganizationCustomRoleList":{"description":"OrganizationCustomRoleList represents the information about a platform organization's custom roles.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationCustomRoleListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a custom role list in an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationCustomRoleListSpec":{"type":"object"},"v1OrganizationHook":{"description":"OrganizationHook represents the information of hooks created for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationHookSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an organizatio hook.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationHookSpec":{"properties":{"external_id":{"type":"string"}},"required":["external_id"],"type":"object"},"v1OrganizationInstallationList":{"description":"OrganizationInstallationList represents the ingested information about the installation information of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInstallationListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the installation informatoin of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationInstallationListSpec":{"type":"object"},"v1OrganizationInvitationList":{"description":"OrganizationInvitationList represents the ingested information about invitations of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationInvitationListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an invitation list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationInvitationListSpec":{"type":"object"},"v1OrganizationMemberList":{"description":"OrganizationMemberList represents the ingested information about members of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationMemberListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the member list of an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationMemberListSpec":{"type":"object"},"v1OrganizationOutsideCollaboratorList":{"description":"OrganizationOutsideCollaboratorList represents the ingested information about outside collaborators of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the outside collaborators list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationOutsideCollaboratorListSpec":{"type":"object"},"v1OrganizationRunnerGroupConfig":{"description":"OrganizationRunnerGroupConfig represents the ingested information about a self-hosted runner group configuration of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the runner group configuration of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationRunnerGroupConfigSpec":{"type":"object"},"v1OrganizationSecurityManagerList":{"description":"OrganizationSecurityManagerList represents the ingested information about security managers of a platform organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerListSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the security managers list of a platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationSecurityManagerListSpec":{"type":"object"},"v1OrganizationWorkflowPermissions":{"description":"OrganizationWorkflowPermissions represents the information of workflow permissions for an organization.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissionsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the workflow permissions of an organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1OrganizationWorkflowPermissionsSpec":{"type":"object"},"v1PHPToolChain":{"properties":{"composer_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1PRCommentConfig":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PRCommentConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a PR comment configuration.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PRCommentConfigSpec":{"properties":{"platform_type":{"$ref":"#/components/schemas/v1PlatformSource"},"template":{"$ref":"#/components/schemas/v1PRCommentsTemplate"}},"required":["template"],"type":"object"},"v1PRCommentsTemplate":{"properties":{"findings_summary_template":{"description":"The template for the PR comment for summary of findings.","type":"string"}},"required":["findings_summary_template"],"type":"object"},"v1PackageFirewallAction":{"default":"PACKAGE_FIREWALL_ACTION_UNSPECIFIED","description":"PackageFirewallAction defines how the package firewall responds when a check is triggered.\nUsed in both configuration (what to do) and audit logs (what was done).\n\n - PACKAGE_FIREWALL_ACTION_BLOCK: Block the request and return HTTP 403.\n - PACKAGE_FIREWALL_ACTION_WARN: Log a warning audit event and allow the request to proceed.\n - PACKAGE_FIREWALL_ACTION_CURATED: One or more versions were removed from the package metadata response as part of package curation.\nThe package manager resolves to the best remaining safe version without seeing the curated-out versions.","enum":["PACKAGE_FIREWALL_ACTION_UNSPECIFIED","PACKAGE_FIREWALL_ACTION_BLOCK","PACKAGE_FIREWALL_ACTION_WARN","PACKAGE_FIREWALL_ACTION_CURATED"],"type":"string"},"v1PackageFirewallCheckFailureCause":{"default":"PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UNSPECIFIED","description":"PackageFirewallCheckFailureCause identifies why a policy decision was unavailable.\n\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UNSPECIFIED: No safe failure cause was recorded.\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_POLICY_DATASTORE_UNAVAILABLE: Firewall configuration could not be read from the policy datastore.\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_MALWARE_DATA_UNAVAILABLE: Malware status could not be read for the requested package version.\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_POLICY_EVALUATION_ERROR: A configured policy check could not complete its evaluation or query.\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UPSTREAM_METADATA_UNAVAILABLE: Supporting upstream package metadata could not be fetched or transformed.\n - PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UPSTREAM_METADATA_NOT_FOUND: Supporting upstream package metadata did not contain the requested package or version.","enum":["PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UNSPECIFIED","PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_POLICY_DATASTORE_UNAVAILABLE","PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_MALWARE_DATA_UNAVAILABLE","PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_POLICY_EVALUATION_ERROR","PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UPSTREAM_METADATA_UNAVAILABLE","PACKAGE_FIREWALL_CHECK_FAILURE_CAUSE_UPSTREAM_METADATA_NOT_FOUND"],"type":"string"},"v1PackageFirewallLog":{"description":"PackageFirewallLog represents a package firewall audit event recording the\naction taken and the reason that triggered it.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageFirewallLogSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package firewall log.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageFirewallLogSpec":{"properties":{"action":{"$ref":"#/components/schemas/v1PackageFirewallAction"},"action_at":{"description":"Timestamp when the firewall action (block or warn) occurred.","format":"date-time","type":"string"},"api_key_id":{"description":"API key ID used for the request (for audit purposes).","type":"string"},"api_key_name":{"title":"Human-readable name of the API key (APIKey.meta.name) used for the request","type":"string"},"block_reason":{"$ref":"#/components/schemas/v1BlockReason"},"blocked_at":{"description":"Deprecated: use action_at instead.","format":"date-time","type":"string"},"configured_fail_closed":{"description":"Configured failure behavior at evaluation time (populated only when reason is POLICY_NOT_EVALUATED).","type":"boolean"},"cvss_severity_level":{"$ref":"#/components/schemas/SpecCVSSSeverityLevel"},"cvss_severity_threshold":{"$ref":"#/components/schemas/SpecCVSSSeverityLevel"},"cvss_vuln_uuid":{"description":"UUID of the Vuln object for the highest-severity vulnerability detected (populated only when reason is CVSS_SEVERITY_DETECTED).","type":"string"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"failure_cause":{"$ref":"#/components/schemas/v1PackageFirewallCheckFailureCause"},"filtered_versions":{"description":"Per-version detail for MetadataAllVersions curation events.\nPopulated when package_curation_enabled = true and one or more versions were suppressed\nfrom the metadata response because their per-policy action is BLOCK. Empty for all other request types.","items":{"$ref":"#/components/schemas/PackageFirewallLogFilteredVersion"},"type":"array"},"malware_uuid":{"description":"UUID of detected malware (populated only when reason is MALWARE_DETECTED).","type":"string"},"min_age_hours":{"description":"Configured minimum age threshold in hours, snapshotted from PackageFirewallConfig.min_age_hours\nat evaluation time (populated only when reason is MIN_AGE_NOT_MET). Combine with action_at and\npackage_age_hours to derive when the package becomes eligible.","format":"int32","type":"integer"},"package_age_hours":{"description":"Age of package in hours (populated only when reason is MIN_AGE_NOT_MET).","format":"int32","type":"integer"},"package_license":{"description":"License of the package (populated only when reason is RESTRICTED_LICENSE).","type":"string"},"package_name":{"description":"Name of the blocked package.","type":"string"},"package_version":{"description":"Version of the blocked package (if available).","type":"string"},"reason":{"$ref":"#/components/schemas/v1PackageFirewallReason"},"remote_address":{"description":"The remote IP address that made the request.","type":"string"},"request_type":{"description":"Type of request that was blocked (metadata, download, etc.).","type":"string"},"request_uri":{"description":"URI of the request that was blocked.","type":"string"},"restricted_license":{"description":"Configured restricted license string that matched and caused this event, snapshotted from\nPackageFirewallConfig.restricted_licenses at evaluation time (populated only when reason is RESTRICTED_LICENSE).","type":"string"},"user":{"description":"Client-supplied user attribution decoded from the Basic-auth username (e.g. user/machine); free-form and unverified.","type":"string"}},"required":["ecosystem","package_name"],"type":"object"},"v1PackageFirewallReason":{"default":"PACKAGE_FIREWALL_REASON_UNSPECIFIED","description":"PackageFirewallReason represents the check that triggered the firewall event.\n\n - PACKAGE_FIREWALL_REASON_MALWARE_DETECTED: Malware was detected in the requested package version.\n - PACKAGE_FIREWALL_REASON_MIN_AGE_NOT_MET: The requested package version does not meet the configured minimum age.\n - PACKAGE_FIREWALL_REASON_RESTRICTED_LICENSE: The requested package version has a license that is on the restricted list.\n - PACKAGE_FIREWALL_REASON_CVSS_SEVERITY_DETECTED: The requested package version has a CVSS vulnerability meeting or exceeding the configured severity threshold.\n - PACKAGE_FIREWALL_REASON_VERSIONS_CURATED: One or more versions were removed from the package metadata response as part of package curation.\nSee PackageFirewallLog.Spec.filtered_versions for per-version detail.\n - PACKAGE_FIREWALL_REASON_POLICY_NOT_EVALUATED: The configured policy could not produce a decision for the package request.","enum":["PACKAGE_FIREWALL_REASON_UNSPECIFIED","PACKAGE_FIREWALL_REASON_MALWARE_DETECTED","PACKAGE_FIREWALL_REASON_MIN_AGE_NOT_MET","PACKAGE_FIREWALL_REASON_RESTRICTED_LICENSE","PACKAGE_FIREWALL_REASON_CVSS_SEVERITY_DETECTED","PACKAGE_FIREWALL_REASON_VERSIONS_CURATED","PACKAGE_FIREWALL_REASON_POLICY_NOT_EVALUATED"],"type":"string"},"v1PackageLicense":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package license.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec","context"],"type":"object"},"v1PackageLicenseInfo":{"properties":{"additional_files":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Other files that contain the same license, mapped to line number.","type":"object"},"confidence":{"description":"The confidence in the license match.","format":"float","type":"number"},"copyrights":{"description":"Copyrights within the license text.","items":{"type":"string"},"type":"array"},"file_location":{"description":"The line in the file where the license text begins.","format":"int32","type":"integer"},"file_name":{"description":"The name of the file where the license was found.","type":"string"},"hash":{"description":"Hash should only be set if matched_text is empty.","type":"string"},"license_description":{"description":"Raw license description as found, for example in package managers.\nIt is free form text that may not contain a valid SPDX ID.","type":"string"},"llm":{"description":"The LLM used to identify the license, if applicable.\nIf no LLM was used, then this will be empty.","type":"string"},"mapping_info":{"$ref":"#/components/schemas/PackageLicenseInfoLicenseInfoMapping"},"matched_text":{"description":"The license text that was matched.","type":"string"},"notices_file":{"description":"True if it is a notices file identified by name.","type":"boolean"},"spdx_expr":{"description":"SPDX expression for the license.","type":"string"},"spdx_id":{"description":"Normalized SPDX id if known.","type":"string"},"type":{"description":"License classification (based on licenseclassifier by Google).","type":"string"},"url":{"description":"The URL that points to the license description.","type":"string"}},"required":["license_description"],"type":"object"},"v1PackageLicenseOverride":{"description":"PackageLicenseOverride represents user edits and selections for licenses, copyrights, and notices\nat the package version level. Edits made at this level apply across all projects in the namespace\nthat use the same package version.\nThe package version UUID is stored in spec.package_version_uuid.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether this override should be visible in child namespaces.\nWhen querying from a descendant namespace, handlers should include parent\noverrides only when this flag is set to true (same inheritance pattern as policies).","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseOverrideSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package license override.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1PackageLicenseOverrideSpec":{"properties":{"copyright_overrides":{"additionalProperties":{"$ref":"#/components/schemas/PackageLicenseOverrideCopyrightOverride"},"description":"Map of copyright key to CopyrightOverride.\nContains copyrights that have been edited or newly added by the user.\nOriginal copyrights from PackageLicense are NOT stored here - they are fetched from PackageLicense when needed.\nKey format:\n  - For edited copyrights from PackageLicense: use the key from PackageLicense.spec.copyrights map.\n    (this is the file path where the copyright was found).\n  - For new copyrights added by user: use generated UUID prefixed with \"new-\".","type":"object"},"deselected_copyrights":{"additionalProperties":{"type":"boolean"},"description":"Map of copyright key to selection state.\nOnly deselected copyrights are stored here (value = false).\nIf a copyright key is not present in this map, it defaults to selected (true).","type":"object"},"deselected_licenses":{"additionalProperties":{"type":"boolean"},"description":"Map of license identifier to selection state.\nOnly deselected licenses are stored here (value = false).\nIf a license identifier is not present in this map, it defaults to selected (true).","type":"object"},"deselected_notices":{"additionalProperties":{"type":"boolean"},"description":"Map of notice identifier to selection state.\nOnly deselected notices are stored here (value = false).\nIf a notice identifier is not present in this map, it defaults to selected (true).","type":"object"},"license_overrides":{"additionalProperties":{"$ref":"#/components/schemas/PackageLicenseOverrideLicenseOverride"},"description":"Map of license identifier to LicenseOverride.\nContains licenses that have been edited or newly added by the user.\nOriginal licenses from PackageLicense are NOT stored here - they are fetched from PackageLicense when needed.\nKey format: hash calculated from normalized license text (same calculation as PackageLicenseInfo.hash).\n  - For edited licenses from PackageLicense: use hash from PackageLicenseInfo.hash.\n    (this hash maps to the key in PackageLicense.spec.license_text map).\n  - For new licenses added by user: calculate hash from the license_text provided in LicenseOverride.\n    The hash is calculated using the same method: SHA256(MakeLicenseKey(normalized_license_text)).\nThe hash is calculated from the normalized license text and is available for all\nlicense types (code_licenses, package_manager_licenses, declared_code_licenses).","type":"object"},"notice_overrides":{"additionalProperties":{"$ref":"#/components/schemas/PackageLicenseOverrideNoticeOverride"},"title":"Map of notice identifier to NoticeOverride.\nContains notices that have been edited or newly added by the user.\nOriginal notices from PackageLicense are NOT stored here - they are fetched from PackageLicense when needed.\nKey format:\n  - For edited notices from PackageLicense: use hash or composite identifier\n  - For new notices added by user: use generated UUID prefixed with \"new-\"","type":"object"},"package_version_uuid":{"description":"The UUID of the package version this override is for.","type":"string"}},"required":["package_version_uuid"],"type":"object"},"v1PackageLicenseQuery":{"description":"PackageLicenseQuery represents the merged result of PackageLicense + PackageLicenseOverride.\nThis response combines original license data from PackageLicense with any overrides and\nselection states from PackageLicenseOverride across all namespaces in the namespace chain,\nproviding a complete view for the UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageLicenseQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"type":"object"},"v1PackageLicenseQuerySpec":{"properties":{"applied_overrides":{"items":{"$ref":"#/components/schemas/PackageLicenseQueryAppliedOverride"},"readOnly":true,"type":"array"},"copyrights":{"description":"Merged copyright entries (combines original + overrides).\nEach entry includes the copyright text, selection state, and edit status.","items":{"$ref":"#/components/schemas/PackageLicenseQueryMergedCopyrightEntry"},"readOnly":true,"type":"array"},"licenses":{"description":"Merged license entries (combines original + overrides).\nEach entry includes the license data, selection state, and edit status.","items":{"$ref":"#/components/schemas/PackageLicenseQueryMergedLicenseEntry"},"readOnly":true,"type":"array"},"notices":{"description":"Merged notice entries (combines original + overrides).\nEach entry includes the notice text, selection state, and edit status.","items":{"$ref":"#/components/schemas/PackageLicenseQueryMergedNoticeEntry"},"readOnly":true,"type":"array"},"package_license_name":{"description":"Name of the base PackageLicense to use. If not given, then we use package_version_uuid.","type":"string"},"package_version_uuid":{"description":"UUID of the package version this data is for.","type":"string"}},"required":["package_version_uuid"],"type":"object"},"v1PackageLicenseSpec":{"properties":{"all_licenses":{"description":"All the licenses found by Endor Labs.","items":{"$ref":"#/components/schemas/v1PackageLicenseInfo"},"type":"array"},"code_licenses":{"description":"The discovered licenses found in the source code.","items":{"$ref":"#/components/schemas/v1PackageLicenseInfo"},"type":"array"},"copyrights":{"additionalProperties":{"type":"string"},"description":"The map of copyright notices per file name found in source files.\nThe key is the file name and the value is the copyright notice texts combined together into a single string.","type":"object"},"declared_code_licenses":{"description":"The declared licenses found in the source code.","items":{"$ref":"#/components/schemas/v1PackageLicenseInfo"},"type":"array"},"license_text":{"additionalProperties":{"type":"string"},"description":"Map of sha256 to license text.","type":"object"},"package_manager_licenses":{"description":"The licenses from the package manager.","items":{"$ref":"#/components/schemas/v1PackageLicenseInfo"},"type":"array"},"project_uuid":{"description":"UUID of the project that the package license relates to.","type":"string"},"version":{"$ref":"#/components/schemas/v1Version"}},"type":"object"},"v1PackageManager":{"description":"PackageManager holds the data for the various package\nmanagers of the enterprise. Mainly locations and\naccess credentials when needed to resolve/scan packages\nfrom private package managers.\nAn enterprise can create one or more package managers\nin a namespace. All the package managers of the given\nnamespace will be taken into account when resolving.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PackageManagerSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package manager.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageManagerSpec":{"properties":{"auth_provider":{"$ref":"#/components/schemas/PackageManagerAuthProvider"},"cargo":{"$ref":"#/components/schemas/v1CargoSpec"},"cocoapod":{"$ref":"#/components/schemas/v1CocoapodSpec"},"conan":{"$ref":"#/components/schemas/v1ConanSpec"},"gem":{"$ref":"#/components/schemas/v1GemSpec"},"gradle":{"$ref":"#/components/schemas/v1GradleSpec"},"mvn":{"$ref":"#/components/schemas/v1MavenSpec"},"npm":{"$ref":"#/components/schemas/v1NPMSpec"},"nuget":{"$ref":"#/components/schemas/v1NugetSpec"},"package_manager_status":{"$ref":"#/components/schemas/SpecPackageManagerStatus"},"packagist":{"$ref":"#/components/schemas/v1PackagistSpec"},"pypi":{"$ref":"#/components/schemas/v1PypiSpec"},"swift":{"$ref":"#/components/schemas/v1SwiftSpec"}},"type":"object"},"v1PackageSpec":{"properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"registry_url":{"description":"The URL to the registry of the package.\nFor example, for Maven central, https://repo.maven.apache.org/maven2.\nFor a local repository, https://myrepo.\nWhen not provided, we assume the default public repository for each\npackage manager.","type":"string"}},"type":"object"},"v1PackageVersion":{"description":"PackageVersion represents a version of a package.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package version resource.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1PackageVersionDependency":{"description":"PackageVersionDependency is a dependency of a package version.","properties":{"c":{"$ref":"#/components/schemas/PackageVersionDependencyUnresolvedDependencySpec"},"cargo":{"$ref":"#/components/schemas/PackageVersionDependencyCargoDependencySpec"},"cocoapod":{"$ref":"#/components/schemas/PackageVersionDependencyCocoapodDependencySpec"},"conan":{"$ref":"#/components/schemas/PackageVersionDependencyConanDependencySpec"},"gem":{"$ref":"#/components/schemas/PackageVersionDependencyGemDependencySpec"},"githubaction":{"$ref":"#/components/schemas/PackageVersionDependencyGitHubActionDependencySpec"},"go":{"$ref":"#/components/schemas/PackageVersionDependencyGoDependencySpec"},"hugging_face":{"$ref":"#/components/schemas/PackageVersionDependencyHuggingFaceDependencySpec"},"maven":{"$ref":"#/components/schemas/PackageVersionDependencyMavenDependencySpec"},"npm":{"$ref":"#/components/schemas/PackageVersionDependencyNpmDependencySpec"},"nuget":{"$ref":"#/components/schemas/PackageVersionDependencyNugetDependencySpec"},"packagist":{"$ref":"#/components/schemas/PackageVersionDependencyPackagistDependencySpec"},"pypi":{"$ref":"#/components/schemas/PackageVersionDependencyPypiDependencySpec"},"swift":{"$ref":"#/components/schemas/PackageVersionDependencySwiftDependencySpec"}},"type":"object"},"v1PackageVersionLicenseQuery":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionLicenseQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query and makes the object compatible with the system.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageVersionLicenseQueryRequest":{"properties":{"license_data":{"$ref":"#/components/schemas/v1LicenseData"},"license_source":{"$ref":"#/components/schemas/v1LicenseSource"},"package_version_name":{"description":"The fully qualified package name must be always provided.","type":"string"}},"required":["package_version_name"],"type":"object"},"v1PackageVersionLicenseQuerySpec":{"properties":{"requests":{"description":"Caller can issue multiple requests (up to 32).","items":{"$ref":"#/components/schemas/v1PackageVersionLicenseQueryRequest"},"type":"array"}},"required":["requests"],"type":"object"},"v1PackageVersionMetadata":{"description":"PackageVersionMetadata represents a metadata for a package version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package version metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageVersionMetadataQuery":{"description":"PackageVersionMetadataQuery identifies the origin and metadata\nof a package or package version from the OSS ecosystems.\nThe query accepts as input the name of the package with an optional\nversion and identifies whether the package can be found in the open\nsource ecosystem, the associated versions and release dates and\nsource code references.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionMetadataQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the query and makes the object compatible with the system.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageVersionMetadataQueryRequest":{"properties":{"found":{"description":"Indicates that details for this package version were found.","readOnly":true,"type":"boolean"},"package_name":{"description":"The package name must be always provided.","type":"string"},"version":{"description":"If a version is provided, the query returns the details\nof the specific version (including source code reference and release date).\nIf the version is not provided, the query will return a list\nof all versions known.","type":"string"},"version_metadata":{"description":"The version metadata output.","items":{"$ref":"#/components/schemas/endorv1VersionMetadata"},"readOnly":true,"type":"array"}},"required":["package_name"],"type":"object"},"v1PackageVersionMetadataQuerySpec":{"properties":{"requests":{"description":"Caller can issue multiple requests (up to 32).","items":{"$ref":"#/components/schemas/v1PackageVersionMetadataQueryRequest"},"type":"array"}},"required":["requests"],"type":"object"},"v1PackageVersionMetadataSpec":{"properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"last_updated":{"description":"The last time that this entry was updated.","format":"date-time","type":"string"},"versions":{"items":{"$ref":"#/components/schemas/endorv1VersionMetadata"},"type":"array"}},"required":["versions","ecosystem"],"type":"object"},"v1PackageVersionSourceMetadata":{"description":"PackageVersionSourceMetadata contains source code information for a PackageVersion.\nFor example, for the Java ecosystem this contains details such as checksum values of the artifact,\nlist of class files, and their corresponding checksums and import statements found.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the package version source metadata.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PackageVersionSourceMetadataSpec":{"properties":{"artifact":{"description":"Name and checksum of the artifact for the package version, used to verify data integrity.\nFor the same package version, certain ecosystems may chose to publish multiple types of\nartifact. For example, for Java we can have jar and war.","items":{"$ref":"#/components/schemas/v1Artifact"},"type":"array"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"is_reconciled":{"description":"True indicates the GAV package data has been reconciled to distinguish rebundled vs application code.","type":"boolean"},"jvm":{"$ref":"#/components/schemas/v1JVMSourceMeta"},"last_modified_time":{"description":"time when artifact was uploaded.","format":"date-time","type":"string"}},"required":["ecosystem","artifact"],"type":"object"},"v1PackageVersionSpec":{"properties":{"bazel_metadata":{"$ref":"#/components/schemas/v1BazelMetadata"},"call_graph_available":{"description":"Set to true if a call graph was successfully created by the latest scan.","type":"boolean"},"code_owners":{"$ref":"#/components/schemas/v1CodeOwnerData"},"container_metadata":{"$ref":"#/components/schemas/v1ContainerMetadata"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"internal_reference_key":{"description":"Unique key for the package generated by Endor Labs to simplify lookups.","readOnly":true,"type":"string"},"language":{"$ref":"#/components/schemas/v1Language"},"package_name":{"description":"The name of the package of this package version. It is\ncalculated automatically from the package version name.","readOnly":true,"type":"string"},"precomputed_call_graph_state":{"$ref":"#/components/schemas/v1PrecomputedState"},"project_uuid":{"description":"The UUID of the project to which this package version belongs.","type":"string"},"relative_path":{"description":"Relative path of the package from where the package was discovered\nrelative to the workspace root.","type":"string"},"release_timestamp":{"description":"The release timestamp corresponding to the time a particular package\nversion was released.","format":"date-time","type":"string"},"resolution_errors":{"$ref":"#/components/schemas/PackageVersionResolutionErrors"},"resolved_dependencies":{"$ref":"#/components/schemas/v1Bom"},"source_code_reference":{"$ref":"#/components/schemas/PackageVersionSourceCodeReference"},"unresolved_dependencies":{"description":"The exact dependency declarations in the package manager descriptor file.\nIn Golang, this represents the list of dependencies in the go.mod.\nIn Java/Maven, this represents the list of dependencies in the pom.xml.","items":{"$ref":"#/components/schemas/v1PackageVersionDependency"},"type":"array"},"upstream_reference":{"description":"The public package this private package was forked from, so its\nvulnerabilities can be attributed to the fork. Empty means the resolver\nhas not run yet; \"N/A\" means it ran and found no upstream.","type":"string"}},"required":["project_uuid"],"type":"object"},"v1PackagistSpec":{"description":"Represents a configuration for the Packagist(PHP) package manager.","properties":{"auth_kind":{"$ref":"#/components/schemas/PackagistSpecAuthKind"},"host":{"description":"The host name of the registry or repository where the PHP packages are\nhosted.","type":"string"},"password":{"description":"An encrypted password that must be provided by the repository owner.","type":"string"},"user":{"description":"The user name to use to access the given host.","type":"string"}},"required":["auth_kind"],"type":"object"},"v1PatRequiredOrg":{"description":"PatRequiredOrg identifies a source-code-host org that still needs a PAT-based\ncontributor scan, together with the SCM platform that owns it. The platform\nsource cannot be inferred from host_url alone for on-prem instances (e.g. a\nself-hosted host could be GitLab, Bitbucket Data Center, or a generic git\nserver), so consumers receive it explicitly here.","properties":{"host_url":{"description":"The org/scope-level host URL produced by DeriveOrgHostURL — treat as an\nopaque URL, not a bare org identifier.","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"}},"required":["host_url","platform_source"],"type":"object"},"v1Permissions":{"description":"Holds a map associating each resource kind with the\n set of methods that are allowed for this kind.\n\n For example:","properties":{"except_resources":{"description":"List of resources that should not be accounted in any * resource rules.","items":{"type":"string"},"type":"array"},"roles":{"items":{"$ref":"#/components/schemas/v1SystemRole"},"type":"array"},"rules":{"additionalProperties":{"$ref":"#/components/schemas/PermissionsMethods"},"title":"For message (or resource) repository, I want to provide permissions READ\nonly. This will create map[\"repository\"] = []{READ}","type":"object"}},"type":"object"},"v1PlatformAccount":{"description":"PlatformAccount represents an account of a user to third-party site like GitHub/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformAccountSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a platform account.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1PlatformAccountSpec":{"properties":{"create_time":{"description":"Create time of the platform account.","format":"date-time","type":"string"},"email":{"description":"The email of the platform account.","type":"string"},"external_id":{"description":"The ID of the platform account in the orginal platform.","type":"string"},"name":{"description":"The name of the platform account.","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"update_time":{"description":"Update time of the platform account.","format":"date-time","type":"string"}},"required":["platform_source","external_id"],"type":"object"},"v1PlatformOrganization":{"description":"PlatformOrganization represents an organization on a third party site like Github/Gitlab or some package platform.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PlatformOrganizationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the platform organization.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1PlatformOrganizationSpec":{"properties":{"create_time":{"description":"Create time of the platform organization.","format":"date-time","type":"string"},"email":{"description":"The email of the platform organization.","type":"string"},"external_id":{"description":"The ID of the platform organization in the orginal platform.","type":"string"},"name":{"description":"The name of the platform organization.","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"update_time":{"description":"Update time of the platform organization.","format":"date-time","type":"string"}},"required":["platform_source","external_id"],"type":"object"},"v1PlatformSource":{"default":"PLATFORM_SOURCE_UNSPECIFIED","description":"Type of source control platform a resource was discovered on.","enum":["PLATFORM_SOURCE_UNSPECIFIED","PLATFORM_SOURCE_GITHUB","PLATFORM_SOURCE_GITLAB","PLATFORM_SOURCE_GITSERVER","PLATFORM_SOURCE_BITBUCKET","PLATFORM_SOURCE_BINARY","PLATFORM_SOURCE_HUGGING_FACE","PLATFORM_SOURCE_AZURE","PLATFORM_SOURCE_ARCHIVE","PLATFORM_SOURCE_EXTERNAL_AI_SERVICE","PLATFORM_SOURCE_GITHUB_ENTERPRISE"],"type":"string"},"v1PluginBinary":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PluginBinarySpec"},"uuid":{"description":"The UUID of the plugin binary.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1PluginBinarySpec":{"properties":{"arch_type":{"$ref":"#/components/schemas/SpecArchType"},"binary_type":{"$ref":"#/components/schemas/SpecBinaryType"},"checksum":{"description":"Checksum of the plugin binary.","type":"string"},"compatibility_matrix":{"additionalProperties":{"$ref":"#/components/schemas/v1Constraint"},"description":"Compatibility matrix containing the min/max supported values for runtime\ntools.","type":"object"},"published_date":{"description":"The date when this binary was published.","format":"date-time","type":"string"},"unsupported":{"description":"Unsupported identifies this binary as not officially supported by Endor\nLabs.","type":"boolean"},"url":{"description":"The URL from which the binary is retrieved.","type":"string"},"version":{"description":"The version of the plugin binary.","type":"string"}},"type":"object"},"v1Policy":{"description":"Policy represents a policy in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PolicyNotificationAction":{"properties":{"aggregation_type":{"$ref":"#/components/schemas/NotificationActionAggregationType"},"bypass_exceptions":{"description":"Set to true if exception policies should be ignored for findings\nmatching this policy.","type":"boolean"},"notification_target_uuids":{"description":"The list of UUIDs of the notification targets that are configured for\nthis policy.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1PolicyOutput":{"properties":{"allow":{"description":"True if input data is accepted by policy.\nFalse if input data violates the expected state.","type":"boolean"},"raw":{"description":"Raw policy output.","items":{"type":"object"},"type":"array"},"violating_resources":{"additionalProperties":{"$ref":"#/components/schemas/v1ResourceUuids"},"description":"Lists of UUIDs of resources that violate the policy,\nif applicable, indexed by resource name.","type":"object"}},"type":"object"},"v1PolicySpec":{"properties":{"admission":{"$ref":"#/components/schemas/PolicyAdmissionAction"},"disable":{"description":"Disables a policy without deleting it.","type":"boolean"},"exception":{"$ref":"#/components/schemas/PolicyExceptionAction"},"finding":{"$ref":"#/components/schemas/PolicyFindingAction"},"finding_categories":{"description":"List of finding categories that the policy creates or acts on findings\nfor. This field can be used to group policies.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"finding_level":{"$ref":"#/components/schemas/SpecFindingLevel"},"group_by_fields":{"description":"Custom fields to group policy output by. This may be a\nsubset of all custom keys in the policy output. You do not need to\nadd all custom fields here, just the ones you want to be used to\ngroup the matches by. The corresponding values\nare always treated as a single string.","items":{"type":"string"},"type":"array"},"notification":{"$ref":"#/components/schemas/v1PolicyNotificationAction"},"policy_type":{"$ref":"#/components/schemas/PolicyPolicyType"},"project_exceptions":{"description":"The set of tags that projects that are matched\nwith are excluded from the policy. Allows exceptions. Exceptions\ncan be provided with or without selectors.","items":{"type":"string"},"type":"array"},"project_selector":{"description":"The set of tags that projects must have for the policy to be executed\nagainst. If left empty, the policy applies to all projects of the\nnamespace. The items in the array correspond to an OR operator. That is,\nany project with a tag that matches any of the project_selector values\nwill be matched.","items":{"type":"string"},"type":"array"},"query_statements":{"description":"The list of OPA query statements that must be executed to evaluate the\npolicy. For example, [ \"data.packagename.allow\" ], [opulated from\ntemplate if applicable.","items":{"type":"string"},"type":"array"},"resource_kinds":{"description":"Identifies all resources that a policy requires.\nFor example, \"Project\", \"Repository\", \"RepositoryVersion\",\n\"PackageVersion\", \"DependencyMetadata\", \"Metric\", \"LinterResult\",\n\"Finding\", etc. For the \"Metric\" resource you must also specify the\ncorresponding parent resource kind.","items":{"type":"string"},"type":"array"},"rule":{"description":"The policy rule in text format.\n\nFor example:\n\npackage policyexample\n\ndefault allow = false\n\nallow {\n   data.resources.Project[_].meta.name = go-memdb\"\n}","type":"string"},"template_parameters":{"description":"Template parameter metadata for this template version.","items":{"$ref":"#/components/schemas/PolicyTemplateParameter"},"type":"array"},"template_uuid":{"description":"Indicates that the policy is created from a template.","type":"string"},"template_values":{"additionalProperties":{"$ref":"#/components/schemas/PolicyTemplateParameterValues"},"description":"The map of key-value pairs for parameters used to customize the template.","type":"object"},"template_version":{"description":"Template version.","type":"string"}},"required":["policy_type"],"type":"object"},"v1PolicyTemplate":{"description":"PolicyTemplate represents a policy system in the system. Policy\ntemplates can be used to create policies from these templates.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Whether the object should be visible in child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1PolicyTemplateSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the policy template.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1PolicyTemplateSpec":{"properties":{"admission":{"$ref":"#/components/schemas/PolicyAdmissionAction"},"default_enabled":{"description":"True if generated out-of-the-box policy is enabled by default\n(unless Policy.AutoEnable is explicitly disabled in SystemConfig).\nDefault user finding policies are also generated for new tenants\nif this flag is set to true.","type":"boolean"},"deprecated":{"description":"Set to True if the policy template has been deprecated.\nPolicies created from deprecated templates are never deleted,\nbut the template is no longer visible in the UI.","type":"boolean"},"finding":{"$ref":"#/components/schemas/PolicyFindingAction"},"finding_categories":{"description":"List of finding categories that the policy creates or acts on findings\nfor. This field can be used to group policy templates.","items":{"$ref":"#/components/schemas/v1FindingCategory"},"type":"array"},"finding_level":{"$ref":"#/components/schemas/SpecFindingLevel"},"group_by_fields":{"description":"Custom fields to group policy output by. This may be a subset of all\ncustom keys in the policy output. You do not need to add all custom\nfields here. You can add just the custom fileds you want to be used to\ngroup the matches by. The corresponding values are always treated as a\nsingle string.","items":{"type":"string"},"type":"array"},"policy_type":{"$ref":"#/components/schemas/PolicyPolicyType"},"query_statements":{"description":"The list of OPA query statements that must be executed to evaluate the\nresulting policy. For example, [ \"data.packagename.allow\" ].","items":{"type":"string"},"type":"array"},"release_notes":{"additionalProperties":{"type":"string"},"description":"Release notes indexed by template version.","type":"object"},"resource_kinds":{"description":"The additional resources that a policy requires.\nBy default, policies are executed against Project, Repository,\nRepositoryVersion, PackageVersion, Metric and Finding. If a policy\nmust include additional objects they must be defined here.","items":{"type":"string"},"type":"array"},"rule":{"description":"The policy template rule in text format.\n\nFor example:\n\npackage policyexample\n\ndefault allow = false\n\nallow {\n   input.Value1 = input.Value2\n}","type":"string"},"template_parameters":{"description":"The list of values to customize the template. In the example above,\nValue1 and Value2.","items":{"$ref":"#/components/schemas/PolicyTemplateParameter"},"type":"array"},"version":{"title":"Template version (for example, \"1.0.0\")","type":"string"}},"required":["rule","query_statements","policy_type","version"],"type":"object"},"v1PolicyValidation":{"description":"PolicyValidation represents a policy validation request and response.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1PolicyValidationSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1PolicyValidationRequest":{"description":"PolicyValidationRequest represents a policy validation request.\nIf no project is specified the policy is validated against all projects.","properties":{"disable_preview":{"description":"Set to true to validate the policy without project data.","type":"boolean"},"policy_type":{"$ref":"#/components/schemas/PolicyPolicyType"},"project_exceptions":{"description":"The set of tags that projects that are matched\nwith are excluded from the policy. Allows exceptions. Exceptions\ncan be provided with or without selectors.","items":{"type":"string"},"type":"array"},"project_selector":{"items":{"type":"string"},"title":"The set of tags that projects must have for the policy to be executed against. If left empty, the policy\napplies to all projects of the namespace. The items in the array\ncorrespond to an OR operator. (ie any project with a tag that matches any\nof the project_selector values will be matched.)","type":"array"},"project_uuid":{"description":"The UUID of project to load data from [optional].","type":"string"},"query_statements":{"description":"List of OPA query statements that must be executed to\nevaluate the policy (for example, \"data.packagename.allow\").","items":{"type":"string"},"type":"array"},"resource_kinds":{"description":"Identifies all resources that a policy requires.\nFor example, \"Project\", \"Repository\", \"RepositoryVersion\", \"PackageVersion\", \"DependencyMetadata\", \"Metric\", \"LinterResult\", \"Finding\", etc.\nFor the \"Metric\" resource you must also specify the corresponding parent resource kind.","items":{"type":"string"},"type":"array"},"rule":{"description":"Policy Rego rule in text format.","type":"string"},"target_kind":{"description":"Repository, RepositoryVersion, or PackageVersion.\nThis is usually the same as the finding parent kind.\nOnly applicable to SYSTEM and USER_FINDING policies.","type":"string"},"template_uuid":{"description":"The UUID of policy template from which the policy will be created.","type":"string"},"template_values":{"additionalProperties":{"$ref":"#/components/schemas/PolicyTemplateParameterValues"},"description":"The map of key-value pairs for parameters used to customize the policy Rego rule.","type":"object"}},"type":"object"},"v1PolicyValidationSpec":{"properties":{"request":{"$ref":"#/components/schemas/v1PolicyValidationRequest"},"result":{"$ref":"#/components/schemas/PolicyValidationResult"}},"required":["request"],"type":"object"},"v1PrecomputedState":{"default":"PRECOMPUTED_STATE_UNSPECIFIED","description":"PrecomputedState represents the state of precomputed operations.\n\n - PRECOMPUTED_STATE_UNSPECIFIED: UNSPECIFIED indicates that the precomputed state is not set or unknown.\n - PRECOMPUTED_STATE_SUCCESS: SUCCESS indicates that the precomputed operation completed successfully.\n - PRECOMPUTED_STATE_FAILURE: FAILURE indicates that the precomputed operation failed.","enum":["PRECOMPUTED_STATE_UNSPECIFIED","PRECOMPUTED_STATE_SUCCESS","PRECOMPUTED_STATE_FAILURE"],"type":"string"},"v1PrioritizationConfig":{"description":"Configuration of the factors that control the prioritization of artifacts.","properties":{"factors":{"additionalProperties":{"$ref":"#/components/schemas/v1PrioritizationFactorConfig"},"type":"object"}},"type":"object"},"v1PrioritizationFactorConfig":{"properties":{"category":{"$ref":"#/components/schemas/v1FactorCategory"},"description":{"description":"Brief description of the factor.","type":"string"},"impact":{"$ref":"#/components/schemas/v1FactorImpact"},"name":{"description":"External name for the factor.","type":"string"}},"type":"object"},"v1ProcessingResult":{"default":"PROCESSING_RESULT_UNSPECIFIED","description":"ProcessingResult indicates the downstream processing result of an event.","enum":["PROCESSING_RESULT_UNSPECIFIED","PROCESSING_RESULT_COMPLETED","PROCESSING_RESULT_FAILED"],"type":"string"},"v1ProcessingStatus":{"properties":{"analytic_time":{"description":"Last time a project was analyzed.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","type":"string"},"deactivated":{"description":"Indicates whether the project is deactivated.\nDeactivated projects are not scanned and are not visible to users in the UI by default.","type":"boolean"},"disable_automated_scan":{"description":"This is a private package and it must not be scanned by the background\nscheduler. It will be scanned by an endorctl client instead. Default:\nfalse.","type":"boolean"},"metadata":{"$ref":"#/components/schemas/v1ProcessingStatusMetadata"},"queue_time":{"description":"Last time a project was queued.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt.","format":"date-time","type":"string"},"scan_state":{"$ref":"#/components/schemas/v1ScanState"},"scan_time":{"description":"Last time a project was ingested.\n\nFormat: 2017-01-15T01:30:15.01Z\nRFC 3339: https://www.ietf.org/rfc/rfc3339.txt","format":"date-time","type":"string"}},"type":"object"},"v1ProcessingStatusMetadata":{"properties":{"full_history_scan_time":{"format":"date-time","title":"Last time a project was scanned with deep secrets scanning","type":"string"}},"type":"object"},"v1Project":{"description":"Logical root object that serves as the basis for organizing and managing all\ninformation related to a repository.\n\nA project corresponds to a repository.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"processing_status":{"$ref":"#/components/schemas/v1ProcessingStatus"},"spec":{"$ref":"#/components/schemas/v1ProjectSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The unique identifier of the project.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ProjectSpec":{"properties":{"git":{"$ref":"#/components/schemas/v1GitSpec"},"ingestion_token":{"description":"Third-party API authentication token to read project related information.","readOnly":true,"type":"string"},"internal_reference_key":{"description":"Unique key for the project generated by Endor Labs to simplify lookups.","readOnly":true,"type":"string"},"is_archived":{"description":"Indicates whether the project is archived.\nArchived projects are typically read-only and users can choose to scan or not scan the project in the app integrations settings.","type":"boolean"},"model":{"$ref":"#/components/schemas/v1ModelSpec"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"sbom":{"$ref":"#/components/schemas/v1SBOMSpec"},"scan_profile_uuid":{"type":"string"},"toolchain_profile_uuid":{"description":"The toolchain required to build and scan the project.","type":"string"},"unsupported":{"$ref":"#/components/schemas/v1UnsupportedSpec"}},"required":["platform_source"],"type":"object"},"v1ProjectSummary":{"description":"ProjectSummary is an internal API to accelerate the UI operations.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProjectSummarySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the for the project summary.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1ProjectSummarySpec":{"properties":{"automated_scan_enabled":{"description":"Set to true if automated scans are enabled for the project.\nThis only applies to projects scanned by the GitHub App.\nIt does not prevent the daily analytics-only scans from running.","type":"boolean"},"dependency_counts":{"$ref":"#/components/schemas/ProjectSummarySpecDependencyCounts"},"finding_count_entries":{"description":"Per-group, per-stage finding counts computed at scan time from the backend registry.\nSupersedes vulnerability_counts, which is retained until every project has been rescanned.\nThe models differ: the SCA vulnerability group requires both the SCA and vulnerability\ncategories, while vulnerability_counts counts every vulnerability finding (container,\nCI/CD, and AI-model vulnerabilities included), so totals here can be lower.","items":{"$ref":"#/components/schemas/v1FindingCountEntry"},"type":"array"},"finding_counts":{"$ref":"#/components/schemas/ProjectSummarySpecFindingCounts"},"last_scanned":{"description":"The last time the project was scanned by the Endor Labs scheduler.\nThis is the same as the update time of this object.","format":"date-time","type":"string"},"package_coverage":{"$ref":"#/components/schemas/SpecPackageCoverage"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"top_dependencies":{"$ref":"#/components/schemas/ProjectSummarySpecTopDependencies"},"top_packages":{"$ref":"#/components/schemas/ProjectSummarySpecTopPackages"},"vulnerability_counts":{"$ref":"#/components/schemas/ProjectSummarySpecVulnerabilityCounts"}},"required":["automated_scan_enabled","last_scanned","package_coverage","finding_counts","platform_source"],"type":"object"},"v1ProvisioningResult":{"description":"ProvisioningResult represents the versions that are maintained\nby Endor Labs.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ProvisioningResultSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for the provisioning result.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","context","spec"],"type":"object"},"v1ProvisioningResultSpec":{"description":"Spec is the internal specification of the object.","properties":{"arch":{"description":"The OS architecture where the provisioning occurred.","type":"string"},"auto_detect_result":{"$ref":"#/components/schemas/v1AutoDetectResult"},"automated_scan_parameters_config":{"$ref":"#/components/schemas/v1AutomatedScanParametersConfig"},"automated_scan_parameters_source":{"$ref":"#/components/schemas/v1AutomatedScanParametersSource"},"error":{"description":"Provisioning error message.","type":"string"},"exit_code":{"description":"Provisioning exit code.","format":"int32","type":"integer"},"languages_detected":{"description":"Languages detected.","items":{"type":"string"},"type":"array"},"os":{"description":"The OS where the provisioning occurred.","type":"string"},"project_url":{"description":"Repository URL of the project for which the scan is run.","type":"string"},"provisioning_config":{"$ref":"#/components/schemas/SpecProvisioningConfig"},"sandbox_config":{"$ref":"#/components/schemas/SpecSandboxConfig"},"scan_profile":{"$ref":"#/components/schemas/v1ScanProfile"},"tool_chains":{"$ref":"#/components/schemas/v1ToolChains"},"tool_chains_source":{"$ref":"#/components/schemas/v1ToolChainsSource"}},"required":["os","arch","exit_code","project_url"],"type":"object"},"v1PullRequestSecurityReviewResultInfo":{"description":"PullRequestSecurityReviewResultInfo represents the comprehensive results of an automated security review\nperformed on a pull request. It includes detailed information about code changes, security metrics,\nand relevant code snippets that may have security implications.","properties":{"changes_description":{"title":"High-level description of all changes","type":"string"},"file_changes":{"additionalProperties":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoFileChanges"},"description":"Comprehensive information about all file changes in the pull request.\nThe map key is the file path.","type":"object"},"llm_context":{"$ref":"#/components/schemas/v1LLMContext"},"security_description":{"title":"Overall security assessment description","type":"string"},"security_metrics":{"items":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityAspectMetric"},"title":"Security review findings and metrics\nDetailed security metrics and findings","type":"array"}},"type":"object"},"v1PypiSpec":{"description":"PypiSpec represents a configuration for the Python package manager.","properties":{"basic_auth":{"$ref":"#/components/schemas/endorv1BasicAuth"},"mtls":{"$ref":"#/components/schemas/v1MTLSAuth"},"password":{"description":"An encrypted password that must be provided by the repository owner.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"},"priority":{"description":"The priority of the Python package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"token_auth":{"$ref":"#/components/schemas/v1TokenAuth"},"url":{"description":"The URL of the registry that the Python package manager must use.","type":"string"},"user":{"description":"The user name to use to access this repository.\nSuperseded by `auth`; kept only for migration, removed in a later CR.","type":"string"}},"required":["priority"],"type":"object"},"v1PythonToolChain":{"properties":{"pip_packages":{"additionalProperties":{"$ref":"#/components/schemas/v1ToolChainVersion"},"description":"the key is the package name to install through pip.","type":"object"},"poetry_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1Query":{"description":"Query implements the metric query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1QuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1QueryIntegrationResource":{"description":"QueryIntegrationResource brokers a synchronous, read-only lookup against a\nthird-party provider (Azure DevOps Boards, Jira, ...) so the frontend can\nprefill guided setup dropdowns. A query-as-resource: it persists nothing.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1QueryIntegrationResourceSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"Server-assigned query id.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1QueryIntegrationResourceCredentialSource":{"description":"QueryIntegrationResourceCredentialSource is how the broker obtains the provider host\nand credentials: inline for the create flow, or a reference to a stored record\nin the caller's namespace for the edit flow (so secrets never leave the backend).","properties":{"inline":{"$ref":"#/components/schemas/QueryIntegrationResourceCredentialSourceInlineCredentials"},"installation_ref":{"description":"UUID of an existing Installation to read credentials from.","type":"string"},"notification_target_ref":{"description":"UUID of an existing NotificationTarget to read credentials from.","type":"string"}},"type":"object"},"v1QueryIntegrationResourceRequest":{"description":"Request selects which provider resource to list.","properties":{"ado_boards_projects":{"$ref":"#/components/schemas/v1AdoBoardsProjectsQuery"},"ado_boards_work_item_types":{"$ref":"#/components/schemas/v1AdoBoardsWorkItemTypesQuery"}},"type":"object"},"v1QueryIntegrationResourceResponse":{"description":"Response carries the payload for the requested resource kind.","properties":{"ado_boards_projects":{"$ref":"#/components/schemas/v1AdoBoardsProjectsResult"},"ado_boards_work_item_types":{"$ref":"#/components/schemas/v1AdoBoardsWorkItemTypesResult"}},"type":"object"},"v1QueryIntegrationResourceSpec":{"properties":{"credential_source":{"$ref":"#/components/schemas/v1QueryIntegrationResourceCredentialSource"},"request":{"$ref":"#/components/schemas/v1QueryIntegrationResourceRequest"},"response":{"$ref":"#/components/schemas/v1QueryIntegrationResourceResponse"}},"required":["credential_source","request"],"type":"object"},"v1QueryMalware":{"description":"QueryMalware is used to do query request on malware that are\nnot supported by ListMalware and the filter. For instance, you must\nuse this method to get a list of malware based on a version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ListMalwareResponse"},"responses":{"$ref":"#/components/schemas/v1QueryMalwareResponseMap"},"spec":{"$ref":"#/components/schemas/v1QueryMalwareSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"v1QueryMalwarePackageVersionNames":{"properties":{"names":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1QueryMalwareResponseMap":{"properties":{"values":{"additionalProperties":{"$ref":"#/components/schemas/v1ListMalwareResponse"},"type":"object"}},"type":"object"},"v1QueryMalwareSpec":{"properties":{"mask":{"description":"Mask specifies the list of fields to return with a request.\nIf no mask is given, all fields will be returned by the API.","type":"string"},"package_names":{"$ref":"#/components/schemas/v1QueryMalwarePackageVersionNames"},"package_version_name":{"type":"string"},"package_version_names":{"$ref":"#/components/schemas/v1QueryMalwarePackageVersionNames"},"purls":{"description":"a list of PURLs to lookup.\nUsing a PURL for the lookup allows the caller to provide additional\nmetadata.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1QueryReference":{"properties":{"connect_from":{"description":"The parent field from which we are connecting. If emtpy, it is UUID.","type":"string"},"connect_operator":{"description":"The operation that should be used to connect\nparent and child. If empty it is the equal operator. Only\nsupporting scalar value operators at this time.","type":"string"},"connect_to":{"description":"The child field to connect to. If empty, it is parent_uuid.","type":"string"},"query_spec":{"$ref":"#/components/schemas/QueryQuerySpec"}},"type":"object"},"v1QuerySimilarPackages":{"description":"QuerySimilarPackages implements the similar packages query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"query_response":{"description":"Aggregates the results of the query.","items":{"$ref":"#/components/schemas/QuerySimilarPackagesQueryResponse"},"readOnly":true,"type":"array"},"spec":{"$ref":"#/components/schemas/v1QuerySimilarPackagesSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1QuerySimilarPackagesSpec":{"properties":{"edit_distance":{"format":"int32","type":"integer"},"exact_match":{"type":"boolean"},"name":{"description":"The name of the package for which similar packaged are being queried.","type":"string"},"repo":{"$ref":"#/components/schemas/v1Ecosystem"}},"required":["name"],"type":"object"},"v1QuerySpec":{"properties":{"query_response":{"$ref":"#/components/schemas/googleprotobufAny"},"query_spec":{"$ref":"#/components/schemas/QueryQuerySpec"}},"type":"object"},"v1QueryVulnerability":{"description":"QueryVulnerability is used to do query request on vulnerabilities that are\nnot supported by ListVulnerabilities and the filter. For instance, you must\nuse this method to get a list of vulnerabilities based on a version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"response":{"$ref":"#/components/schemas/v1ListVulnerabilitiesResponse"},"responses":{"$ref":"#/components/schemas/v1QueryVulnerabilityResponseMap"},"spec":{"$ref":"#/components/schemas/v1QueryVulnerabilitySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"type":"object"},"v1QueryVulnerabilityPackageVersionNames":{"properties":{"names":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1QueryVulnerabilityResponseMap":{"properties":{"values":{"additionalProperties":{"$ref":"#/components/schemas/v1ListVulnerabilitiesResponse"},"type":"object"}},"type":"object"},"v1QueryVulnerabilitySpec":{"properties":{"mask":{"description":"Mask specifies the list of fields to return with a request.\nIf no mask is given, all fields will be returned by the API.","type":"string"},"package_version_name":{"type":"string"},"package_version_names":{"$ref":"#/components/schemas/v1QueryVulnerabilityPackageVersionNames"},"purls":{"description":"a list of PURLs to lookup.\nUsing a PURL for the lookup allows the caller to provide additional\nmetadata.","items":{"type":"string"},"type":"array"},"vulnerability_name_query":{"$ref":"#/components/schemas/QueryVulnerabilityVulnerabilityNameQuery"},"vulnerability_type":{"$ref":"#/components/schemas/SpecVulnerabilityType"}},"type":"object"},"v1ReadmeAIQuery":{"properties":{"answer":{"description":"Extracted string answer from the raw response.","items":{"type":"string"},"type":"array"},"evidence":{"description":"Extracted evidence supporting answer from the raw response.","type":"string"},"exists":{"description":"Extracted boolean whether or not specified field in prompt exists.","type":"boolean"},"prompt":{"description":"Prompt to query AI.","type":"string"},"raw_response":{"description":"Raw response received from the query.","type":"string"}},"type":"object"},"v1ReadmeMetadata":{"properties":{"alignment_trained":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"base_model":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"evaluation_results":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"example_code":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"fine_tuned":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"linked_github":{"$ref":"#/components/schemas/v1ReadmeAIQuery"},"training_data":{"$ref":"#/components/schemas/v1ReadmeAIQuery"}},"type":"object"},"v1RegistryIngestionCheckpoint":{"description":"RegistryIngestionCheckpoint represents ingestion progress checkpoints per ecosystem/registry.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpointSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the registry ingestion checkpoint.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1RegistryIngestionCheckpointSpec":{"description":"Spec contains ingestion state per ecosystem.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"npm":{"$ref":"#/components/schemas/SpecNpm"},"pypi":{"$ref":"#/components/schemas/SpecPypi"}},"required":["ecosystem"],"type":"object"},"v1ReleaseUpgradeConfiguration":{"properties":{"avoid_pre_releases":{"description":"Avoid prereleases.","type":"boolean"},"no_upgrade_package_set":{"description":"These packages can not be upgraded and will be skipped.","items":{"type":"string"},"type":"array"},"prefer_minor_version_upgrades":{"description":"Give higher priority to upgrades to versions with the same major version since these are more likely to be compatible.","type":"boolean"},"reachable_findings_only":{"description":"Only consider reachable findings.","type":"boolean"},"score_improvement_threshold":{"description":"Score improvement to consider an upgrade.","format":"int32","type":"integer"},"skip_test":{"description":"If true, ignores all the direct dependencies that are marked as TEST/BUILD.","type":"boolean"},"target_dependency":{"description":"Only analyze this direct dependency and ignore the others.","type":"string"},"top_only":{"description":"Only show the top N dependency upgrades.","format":"int32","type":"integer"},"upgrade_if_better_scores":{"description":"Whether to consider a version upgrade just to improve the Endor scores or not.","type":"boolean"},"upgrade_if_operational_findings":{"description":"Whether to consider a version upgrade if the current version has only operational findings or not.","type":"string"},"upgrade_if_vulnerability_findings":{"description":"Whether to consider a version upgrade if the current version has vulnerability findings or not.","type":"string"},"use_cia":{"description":"Whether using change impact analysis or not.","type":"boolean"}},"type":"object"},"v1ReleaseUpgradeInfo":{"description":"Protobuf definition for ReleaseUpgradeInfo.","properties":{"cia_results":{"description":"Details from the CIA analysis.","items":{"$ref":"#/components/schemas/v1VersionDiffResult"},"type":"array"},"cia_status":{"description":"The status of the CIA analysis, including errors.","type":"string"},"conflicts":{"description":"The number of conflicts between the dependencies of the two versions.","format":"int32","type":"integer"},"conflicts_map":{"additionalProperties":{"$ref":"#/components/schemas/v1Conflict"},"description":"The list of conflicting direct dependency packages.","type":"object"},"cur_dep_count":{"description":"The number of dependencies in the current version.","format":"int32","type":"integer"},"current_conflicts":{"description":"The count of conflicts with even the current version.","format":"int32","type":"integer"},"deps_added":{"description":"The number of new dependencies added in the upgrade.","format":"int32","type":"integer"},"deps_removed":{"description":"The number of dependencies removed in the upgrade.","format":"int32","type":"integer"},"direct_dependency_manifest_files":{"description":"Manifest file information for the direct dependency being upgraded.","items":{"type":"string"},"type":"array"},"direct_dependency_package":{"description":"The package being upgraded.","type":"string"},"endor_scores_improvement":{"additionalProperties":{"format":"int32","type":"integer"},"title":"The breakdown of the Endor score improvements in the upgrade","type":"object"},"from_pkg_version_uuid":{"description":"The UUID of the package version of the current dependency version.","type":"string"},"from_version":{"description":"The current version of the dependency.","type":"string"},"from_version_age_in_days":{"description":"Deprecated.","format":"int32","type":"integer"},"from_version_publish_time":{"description":"Publish time of the from version.","format":"date-time","type":"string"},"is_best":{"description":"Whether this the best upgrade according to our analysis or not.","type":"boolean"},"is_endor_patch":{"description":"True if this is an Endor Labs Assured package version.","type":"boolean"},"is_latest":{"description":"Whether this an upgrade to the latest version or not.","type":"boolean"},"minor_conflicts":{"description":"The number of minor (same major version) conflicts between the dependencies of the two versions.","format":"int32","type":"integer"},"minor_conflicts_map":{"additionalProperties":{"$ref":"#/components/schemas/v1Conflict"},"description":"The list of minor (same major version) conflicts.","type":"object"},"other_finding_info":{"$ref":"#/components/schemas/v1FindingUpgradeBreakdown"},"package_count":{"description":"The number of packages affected by the upgrade.","format":"int32","type":"integer"},"project":{"description":"The name of the project.","type":"string"},"root_package_version":{"description":"The project package that imports this dependency.","type":"string"},"root_pkg_version_uuid":{"description":"The UUID of the root package version.","type":"string"},"score":{"description":"The internal score for this upgrade.","format":"int32","type":"integer"},"score_explanation":{"description":"The reasons for the score.","type":"string"},"to_pkg_version_uuid":{"description":"The UUID of the package version of the dependency version to which we upgrade.","type":"string"},"to_version":{"description":"The version to which the package is to be upgraded.","type":"string"},"to_version_age_in_days":{"description":"Deprecated.","format":"int32","type":"integer"},"to_version_publish_time":{"description":"Publish time of the to version.","format":"date-time","type":"string"},"total_findings_fixed":{"description":"Count of findings (all types and severity levels) fixed by the upgrade.","format":"int32","type":"integer"},"total_findings_introduced":{"description":"Count of findings (all types and severity levels) introduced by the upgrade.","format":"int32","type":"integer"},"update_dep_count":{"description":"The number of dependencies in the upgrade.","format":"int32","type":"integer"},"upgrade_risk":{"description":"Upgrade risk.","type":"string"},"vuln_finding_info":{"$ref":"#/components/schemas/v1FindingUpgradeBreakdown"},"worth_it":{"description":"Whether the upgrade worth it or not.","type":"boolean"}},"type":"object"},"v1ReleaseUpgradeStats":{"properties":{"cia_invocations":{"description":"CIA Invocations.","format":"int32","type":"integer"},"compute_time":{"description":"Compute time.","format":"float","type":"number"},"data_load_time":{"description":"Data load time.","format":"float","type":"number"},"database_version_count":{"description":"The number of versions for direct dependencies we found in our database.","format":"int32","type":"integer"},"dep_meta_count":{"description":"Dependency meta Count.","format":"int32","type":"integer"},"dep_uuids":{"description":"Dependency UUIDs.","format":"int32","type":"integer"},"direct_dependency_count":{"description":"Direct dependency count.","format":"int32","type":"integer"},"direct_deps_count":{"description":"Direct cependencies count.","format":"int32","type":"integer"},"direct_deps_package_count":{"description":"Direct dependencies package count.","format":"int32","type":"integer"},"findings_after_filtering":{"description":"Findings after filtering.","format":"int32","type":"integer"},"findings_fixed_by_upgrade_count":{"description":"Findings Fixed By Upgrade Count.","format":"int32","type":"integer"},"findings_read":{"description":"Findings read.","format":"int32","type":"integer"},"incomplete_releases":{"description":"Releases not considered because of lack of information.","format":"int32","type":"integer"},"max_releases_behind":{"description":"Max Releases Behind.","format":"int32","type":"integer"},"missing_version_count":{"description":"The number of direct dependency versions we miss from our database.","format":"int32","type":"integer"},"namespace":{"description":"Namespace.","type":"string"},"package_count":{"description":"Package Count.","format":"int32","type":"integer"},"package_manager_version_count":{"description":"The number of versions for direct dependencies that we found in the package manager.","format":"int32","type":"integer"},"pre_upgrade_findings_count":{"description":"Pre-upgrade Findings Count.","format":"int32","type":"integer"},"project_name":{"description":"Project Name.","type":"string"},"project_uuid":{"description":"Project UUID.","type":"string"},"score_breakdown":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Score breakdown.","type":"object"},"scores_read":{"description":"Scores read.","format":"int32","type":"integer"},"skipped_due_to_cia":{"description":"Skipped due To CIA.","format":"int32","type":"integer"},"upgrades_proposed":{"description":"Upgrades proposed.","format":"int32","type":"integer"},"upgrades_reviewed":{"description":"Upgrades reviewed.","format":"int32","type":"integer"},"upgrades_skipped":{"description":"Upgrades skipped.","format":"int32","type":"integer"},"zero_conflict_upgrades_proposed":{"description":"Zero conflict upgrades proposed.","format":"int32","type":"integer"}},"type":"object"},"v1RemediationPRConfig":{"description":"RemediationPRConfig configures automated remediation pull requests.\nThe SCM platform is determined by the platform source of the violating project.","properties":{"enabled":{"description":"Turns the creation of automated pull requests on or off for this target.","type":"boolean"}},"required":["enabled"],"type":"object"},"v1RemediationParameters":{"description":"RemediationParameters holds the settings for remediation actions.","properties":{"automated_pr_parameters":{"$ref":"#/components/schemas/RemediationParametersAutomatedPRParameters"}},"type":"object"},"v1Repository":{"description":"Repository represents the ingested information about a source control repository.\nA repository may refer to any type of source control repository, such as GitLab or GitHub.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositorySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the source control repository.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryAccess":{"description":"RepositoryAccess contains normalized repository access settings.","properties":{"admins":{"description":"List of all repository administrator usernames.","items":{"type":"string"},"type":"array"},"advanced_security_enabled":{"description":"Advanced security is automatically enabled for new repositories.","type":"boolean"},"allow_auto_merge":{"description":"Repository allows auto-merge on pull requests.","type":"boolean"},"allow_fork":{"description":"Repository allows forking.","type":"boolean"},"allow_merge_commit":{"description":"Repository allows merging pull requests with a merge commit.","type":"boolean"},"allow_rebase_merge":{"description":"Repository allows rebase-merging pull requests.","type":"boolean"},"allow_squash_merge":{"description":"Repository allows squash merging pull-requests.","type":"boolean"},"archived":{"description":"Repository is archived.","type":"boolean"},"default_branch_protection_status":{"description":"Branch protection status of default branch.","type":"boolean"},"disabled":{"description":"Repository is disabled.","type":"boolean"},"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"private":{"description":"Repository is private.","type":"boolean"},"pushed_at":{"description":"Time of the most recent commit to the repository.","format":"date-time","type":"string"},"require_web_commit_signoff":{"description":"Require developers to sign off on commits made through a web interface.","type":"boolean"},"webhooks":{"description":"List of all repository webhooks.","items":{"$ref":"#/components/schemas/ScpmDataWebhook"},"type":"array"}},"required":["ingested_object"],"type":"object"},"v1RepositoryBranchProtection":{"description":"Branch protection information of a single branch.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryBranchProtectionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository branch protection.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryBranchProtectionSpec":{"properties":{"branch_name":{"description":"The name of the branch to which the branch protections applies.","type":"string"}},"required":["branch_name"],"type":"object"},"v1RepositoryCheckRun":{"description":"RepositoryCheckRun represents the information about a repository check run.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCheckRunSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository check run.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryCheckRunSpec":{"properties":{"commit_sha":{"description":"The SHA to which the check run is attached.","type":"string"}},"required":["commit_sha"],"type":"object"},"v1RepositoryCodeownersFile":{"description":"The information about a repository's codeowners file.\nIt does not contain the actual file contents.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCodeownersFileSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository's codeowners file information.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryCodeownersFileSpec":{"type":"object"},"v1RepositoryCollaborators":{"description":"The ingested information about a repository's collaborators.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCollaboratorsSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID fir repository's collaborators information.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryCollaboratorsSpec":{"properties":{"is_admin":{"description":"Whether the collaborator has admin permissions or not.","type":"boolean"},"role_name":{"description":"Collaborator role name.","type":"string"},"user_name":{"description":"Collaborator user name.","type":"string"}},"type":"object"},"v1RepositoryCommit":{"description":"Represents the ingested information about a repository commit.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryCommitSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository commit.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryCommitSpec":{"properties":{"author":{"$ref":"#/components/schemas/v1PlatformAccount"},"commiter":{"$ref":"#/components/schemas/v1PlatformAccount"},"hash":{"description":"Hash of the commit object.","type":"string"},"parent_hashes":{"description":"The hashes of the parent commits of the commit.","items":{"type":"string"},"type":"array"},"tree_hash":{"description":"The hash of the root tree of the commit.","type":"string"}},"type":"object"},"v1RepositoryDeploymentEnvConfig":{"description":"The ingested information about a repository's deployment environment configurations.\nhttps://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#list-environments.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository's deployment environment configuration.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryDeploymentEnvConfigSpec":{"type":"object"},"v1RepositoryHook":{"description":"The information about hooks created for a repository.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryHookSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the for the repository hook.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryHookSpec":{"properties":{"external_id":{"type":"string"}},"required":["external_id"],"type":"object"},"v1RepositoryIssue":{"description":"The ingested information about a repository issue.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryIssueSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a repository issue.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryIssueSpec":{"properties":{"assignee":{"$ref":"#/components/schemas/v1PlatformAccount"},"close_time":{"description":"Close time of the repository issue in the platform.","format":"date-time","type":"string"},"contributor":{"$ref":"#/components/schemas/v1PlatformAccount"},"create_time":{"description":"Create time of the repository issue in the platform.","format":"date-time","type":"string"},"external_id":{"description":"The ID of the object in the platform from which the issue was ingested.","type":"string"},"update_time":{"description":"Update time of the repository issue in the platform.","format":"date-time","type":"string"}},"required":["external_id"],"type":"object"},"v1RepositoryLicense":{"description":"Contains information related to a source control repository software license.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"name":{"description":"Name of the source control repository software license.","type":"string"}},"required":["ingested_object"],"type":"object"},"v1RepositoryPullRequest":{"description":"The ingested information about a repository pull request.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryPullRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a repository pull request.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryPullRequestSpec":{"properties":{"base_commit_hash":{"description":"The base commit hash of the pull request.","type":"string"},"close_time":{"description":"Time that the pull request was closed.","format":"date-time","type":"string"},"contributor":{"$ref":"#/components/schemas/v1PlatformAccount"},"corrected_merge_commit_hash":{"description":"The corrected merge commit hash of the pull request.\n\nThis field is populated if the original merge_commit_hash is found to be incorrect while fetching check runs.\nIt is calculated by take the commit_id from the \"merged\" event.","type":"string"},"create_time":{"description":"Time that the pull request was created.","format":"date-time","type":"string"},"external_id":{"description":"The pull request ID in the platform from which it was ingested.","type":"string"},"head_commit_hash":{"description":"The head commit hash of the pull request.","type":"string"},"is_draft":{"description":"Whether the pull request is a draft.","type":"boolean"},"merge_commit_hash":{"description":"The merge commit hash of the pull request.","type":"string"},"merge_time":{"description":"Time that the pull request was merged.","format":"date-time","type":"string"},"merged":{"description":"Whether the PR is merged or not.","type":"boolean"},"merged_by_user":{"$ref":"#/components/schemas/v1PlatformAccount"},"name":{"description":"The name of the pull request.","type":"string"},"number":{"description":"The pull request number.","format":"int32","type":"integer"},"requested_reviewers":{"description":"The reviewers of the pull request.","items":{"$ref":"#/components/schemas/v1PlatformAccount"},"type":"array"},"state":{"description":"State of the pull request.","type":"string"},"summary":{"description":"The summary of the pull request.","type":"string"},"update_time":{"description":"Time that the pull request was updated.","format":"date-time","type":"string"}},"required":["external_id"],"type":"object"},"v1RepositoryRelease":{"description":"The ingested information about a repository release.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryReleaseSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a repository release.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryReleaseSpec":{"properties":{"contributor":{"$ref":"#/components/schemas/v1PlatformAccount"},"create_time":{"description":"Create time of the release in the platform.","format":"date-time","type":"string"},"external_id":{"description":"The ID of the repository release in the platform from which the release was ingested.","type":"string"},"head_commit_hash":{"description":"The head commit hash of the release.","type":"string"},"publish_time":{"description":"Publish time of the release in the platform.","format":"date-time","type":"string"},"tag_name":{"description":"Tag name of the release.","type":"string"},"target_commitish":{"description":"The commitish value that determines where the Git tag is created from.\nCan be any branch or commit SHA. Unused if the Git tag already exists.","type":"string"}},"required":["external_id"],"type":"object"},"v1RepositoryScanMetadata":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryScanMetadataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository scan metadata.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1RepositoryScanMetadataSpec":{"description":"Repository scan metadata specification.","properties":{"etags":{"additionalProperties":{"type":"string"},"description":"The etags of the repository.\n\nThe key is the name of the etag, for example, repository.issues.etag.\nThe value is the etag value.","type":"object"},"github_versions_to_scan":{"additionalProperties":{"$ref":"#/components/schemas/RepositoryScanMetadataSpecVersionMetadata"},"description":"GitHub versions to scan are new version SHAs seen through the Git scanner that need more information to be scanned by the GitHub scanner.","type":"object"}},"type":"object"},"v1RepositorySpec":{"properties":{"branch_protections":{"additionalProperties":{"$ref":"#/components/schemas/v1BranchProtection"},"description":"Branch protections is a map of branch name to its github branch protection rules.","type":"object"},"commit_hashes":{"description":"Commit hashes contains a list of all of the commit presents in the repository.\n\nA commit hash contains all commits branches that were already ingested.\n\nFor example: with branch A, branch B and branch C, where branch A and branch B were\ningested, the array contains the union of commits of branch A and branch B.","items":{"type":"string"},"type":"array"},"contributors":{"description":"Contributors represents all account external_ids that have been seen throughout the ingestion.","items":{"type":"string"},"type":"array"},"create_time":{"description":"Create time of the repository in the platform.","format":"date-time","type":"string"},"default_branch":{"description":"The default branch of the source control repository.","type":"string"},"external_id":{"description":"The unique identifier of the repository in the source platform before ingestion.","type":"string"},"http_clone_url":{"description":"The HTTP clone URL of the project.\nFor example, https://github.com/yarpc/yarpc-go.git.","type":"string"},"languages":{"$ref":"#/components/schemas/v1Languages"},"org":{"$ref":"#/components/schemas/v1Organization"},"owner":{"$ref":"#/components/schemas/v1PlatformAccount"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"repository_license":{"$ref":"#/components/schemas/v1RepositoryLicense"},"tags":{"description":"The tags of the repository.","items":{"$ref":"#/components/schemas/endorv1Tag"},"type":"array"},"update_time":{"description":"Update time of the repository in the platform.","format":"date-time","type":"string"},"vulnerability_alerts_enabled":{"description":"Denotes whether vulnerability alerts have been enabled on the source control repository.","type":"boolean"}},"required":["platform_source","http_clone_url","default_branch"],"type":"object"},"v1RepositoryStatus":{"description":"The ingested information about a repository status.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryStatusSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a repository status.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryStatusSpec":{"properties":{"commit_sha":{"description":"The SHA attached to the repository status.","type":"string"}},"required":["commit_sha"],"type":"object"},"v1RepositoryTagProtection":{"description":"The repository's tag protections.","properties":{"ingested_object":{"$ref":"#/components/schemas/v1IngestedObject"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RepositoryTagProtectionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository's tag protection.","readOnly":true,"type":"string"}},"required":["meta","ingested_object"],"type":"object"},"v1RepositoryTagProtectionSpec":{"type":"object"},"v1RepositoryVersion":{"description":"The ingested information about a repository version.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"scan_object":{"$ref":"#/components/schemas/RepositoryVersionScanObject"},"spec":{"$ref":"#/components/schemas/v1RepositoryVersionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the repository version.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1RepositoryVersionSpec":{"properties":{"allow_ref_as_pr_scan_base":{"description":"Allows this monitored branch to be used as the base for automated PR scans when PR scans are enabled for the project.","type":"boolean"},"last_commit_date":{"description":"The last known time when the repository version was updated.","format":"date-time","type":"string"},"version":{"$ref":"#/components/schemas/v1Version"}},"type":"object"},"v1RequestAssuredPackageVersion":{"description":"RequestAssuredPackageVersion is a request to have an assured package version patchd..","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the requested assured package version.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1RequestAssuredPackageVersionSpec":{"properties":{"contacts":{"items":{"type":"string"},"type":"array"},"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"package_name":{"readOnly":true,"type":"string"},"package_version_name":{"type":"string"},"package_version_uuid":{"type":"string"},"severity_level":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersionSpecSeverityLevel"},"state":{"$ref":"#/components/schemas/RequestAssuredPackageVersionSpecState"},"type":{"$ref":"#/components/schemas/SpecPatchType"}},"required":["severity_level","contacts","state","package_version_name"],"type":"object"},"v1RequestAssuredPackageVersionSpecSeverityLevel":{"default":"SEVERITY_LEVEL_UNSPECIFIED","enum":["SEVERITY_LEVEL_UNSPECIFIED","SEVERITY_LEVEL_LOW","SEVERITY_LEVEL_MEDIUM","SEVERITY_LEVEL_HIGH","SEVERITY_LEVEL_CRITICAL"],"type":"string"},"v1RequestStatus":{"default":"REQUEST_STATUS_UNSPECIFIED","description":"RequestStatus defines the possible requst statuses.","enum":["REQUEST_STATUS_UNSPECIFIED","REQUEST_STATUS_APPROVED","REQUEST_STATUS_DENIED","REQUEST_STATUS_COMPLETED","REQUEST_STATUS_FAILED"],"type":"string"},"v1ResolutionStatus":{"description":"ResolutionStatus is the response status that indicates if the operation\nsucceeded. The response status will be stored with the\nresults. The caller will continue with subsequent requests\nand the server can continue with additional packages.","properties":{"description":{"description":"A description of the error. Plugins should use proper descriptions that\nwill be helpful to users or operations.","type":"string"},"error_analysis":{"description":"The analysis of the error based on the error parsing rules\nthat can provide additional context on possible fixes.","items":{"$ref":"#/components/schemas/ResolutionStatusErrorAnalysis"},"type":"array"},"error_analysis_best_match":{"$ref":"#/components/schemas/ResolutionStatusErrorAnalysis"},"operation":{"description":"The operation during which encountered the error.\nA Go plugin can return as operation reading go.mod file,\na Java plugin can be reading a pom.xml. Every plugin is\ndoing different operations and it should identify here\nthe operation that failed. This again will help with debugging.","type":"string"},"status_error":{"$ref":"#/components/schemas/ResolutionStatusStatusError"},"target":{"description":"The target object (path or package) where the failure happened. For package\nscans it is the package. For the workspace scans it is the target path.","type":"string"},"target_files":{"additionalProperties":{"type":"string"},"description":"The content of manifest files or the list of files based on the operation.","type":"object"}},"type":"object"},"v1ResourceUuids":{"properties":{"uuids":{"description":"The list of resource UUIDs.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1RubyToolChain":{"properties":{"dependabot_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"ruby_gems":{"additionalProperties":{"$ref":"#/components/schemas/v1ToolChainVersion"},"type":"object"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1RuleSourceType":{"default":"RULE_SOURCE_TYPE_UNSPECIFIED","description":"The source type of the rule set.","enum":["RULE_SOURCE_TYPE_UNSPECIFIED","RULE_SOURCE_TYPE_ZIP","RULE_SOURCE_TYPE_TAR","RULE_SOURCE_TYPE_ZSTD","RULE_SOURCE_TYPE_GZIP"],"type":"string"},"v1RuleType":{"default":"RULE_TYPE_UNSPECIFIED","enum":["RULE_TYPE_UNSPECIFIED","RULE_TYPE_SEMGREP","RULE_TYPE_SAST"],"type":"string"},"v1RustToolChain":{"properties":{"mirai_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"rustup_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version","rustup_version"],"type":"object"},"v1SAMLProvider":{"properties":{"attribute_names":{"description":"Attributes that must be mapped to the Endor identity.","items":{"type":"string"},"type":"array"},"certificates":{"description":"Certificate of the identity provider.","items":{"type":"string"},"type":"array"},"issuer":{"title":"Issuer of the identity provider","type":"string"},"provider_metadata_url":{"description":"The SAML metadata URL.","type":"string"},"sso_url":{"description":"Single Sign On URL of the identity provider.","type":"string"}},"type":"object"},"v1SBOMExportJobRequest":{"description":"Request holds the input parameters for running an SBOM export job.","properties":{"component_type":{"$ref":"#/components/schemas/v1ExportedSBOMComponentType"},"cyclonedx_spec_version":{"$ref":"#/components/schemas/v1CycloneDxSpecVersion"},"export_parameters":{"$ref":"#/components/schemas/v1ExportParameters"},"format":{"$ref":"#/components/schemas/v1ExportedSBOMFormat"},"hide_private_components":{"description":"Whether to hide private (internal) packages in the SBOM output.","type":"boolean"},"include_test_dependencies":{"description":"Whether to include test/dev/build/optional dependencies. When false\n(default), non-production dependencies are excluded along with any\ntransitive dependencies reachable only through them.","type":"boolean"},"include_vulnerabilities":{"description":"When true, embed the scope's vulnerabilities as a top-level\nvulnerabilities[] array in the SBOM, producing one unified document.\nCycloneDx only.","type":"boolean"},"kind":{"$ref":"#/components/schemas/v1SBOMKind"},"package_version_uuid":{"description":"UUID of a single PackageVersion to export. When set, the handler\ngenerates an SBOM containing just this package version. Mutually\nexclusive with export_parameters.","type":"string"},"spdx_spec_version":{"$ref":"#/components/schemas/v1SPDXSpecVersion"}},"required":["component_type"],"type":"object"},"v1SBOMExportJobResponse":{"description":"Response holds the output after the SBOM export job completes.","properties":{"file_path":{"description":"The file path of the generated SBOM in object storage.\nStored on the Job by the handler; the apiserver Job RPC layer reads\nthis on every GetJob and produces a fresh signed download URL.","type":"string"},"report_url":{"description":"The signed download URL for the generated SBOM. Populated by the\napiserver Job RPC layer on each GetJob call (5-minute TTL).","type":"string"},"resource_namespace":{"description":"Namespace jobctl read the referenced resources from — the caller's\ntenant, or \"oss\" if the fallback fired.","type":"string"},"sbom_size_bytes":{"description":"Byte length of the generated SBOM artifact in object storage. Useful\nfor clients deciding whether to display a download progress indicator\nand for operational reporting on export sizes.","format":"uint64","type":"string"}},"type":"object"},"v1SBOMKind":{"default":"SBOM_KIND_UNSPECIFIED","description":"SBOM type.","enum":["SBOM_KIND_UNSPECIFIED","SBOM_KIND_CYCLONEDX","SBOM_KIND_SPDX"],"type":"string"},"v1SBOMOrganizationalContact":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SBOMOrganizationalContactSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an SBOM organizational contact.","readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1SBOMOrganizationalContactSpec":{"description":"The internal specification of the object.","properties":{"organization_urls":{"description":"The list of URLs associated with the given organization, which can be included in the supplier SBOM information.","items":{"type":"string"},"type":"array"},"organizational_contacts":{"description":"The list of contact to be put as the contact in the SBOM export supplier information.","items":{"$ref":"#/components/schemas/v1SBOMOrganizationalContactSpecOrganizationalContact"},"type":"array"},"organizational_entity_name":{"description":"The name of the organization to be used as the supplier for the SBOM.\nAlthough this is not a required field, this will be validated when trying to export an SBOM.","type":"string"}},"required":["organizational_entity_name"],"type":"object"},"v1SBOMOrganizationalContactSpecOrganizationalContact":{"properties":{"email":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"}},"required":["name"],"type":"object"},"v1SBOMSpec":{"properties":{"kind":{"$ref":"#/components/schemas/v1SBOMKind"},"main_component_purl":{"description":"Package URL (PURL) is a standard to identify packages, libraries, or\nmodules in an SBOM. Provides information about the package like name,\nversion, and repository location.","type":"string"}},"required":["main_component_purl","kind"],"type":"object"},"v1SCMApp":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates whether the object should be visible in the child namespaces or not.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMAppSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the SCM app.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"v1SCMAppSpec":{"properties":{"api_base_url":{"description":"The base API URL of the app.","type":"string"},"app_id":{"description":"The ID of the SCM app.","type":"string"},"app_type":{"$ref":"#/components/schemas/SpecAppType"},"github_app":{"$ref":"#/components/schemas/v1GithubApp"}},"required":["app_type","api_base_url","app_id"],"type":"object"},"v1SCMCredential":{"description":"SCMCredential represents SCM org/repo credentials for private dependency resolution.\nCustomers configure these credentials to allow endorctl to authenticate with\nprivate Git repositories during agentless or SCM-integrated scans, eliminating\nresolution failures for cross-org private dependencies.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SCMCredentialSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the SCM credential.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta","spec"],"type":"object"},"v1SCMCredentialSpec":{"properties":{"access_token":{"description":"Access token for authenticating to the SCM platform.\nUsed for HTTPS-based Git operations (e.g., git URL rewrites).\nWorks across all SCM providers: GitHub PAT, GitLab PAT, Bitbucket access\ntoken, Azure DevOps PAT, etc.\nThe secure annotation ensures automatic redaction and secure storage.","type":"string"},"description":{"title":"Optional human-readable description for this credential","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"scm_credential_status":{"$ref":"#/components/schemas/SpecSCMCredentialStatus"},"target_url":{"description":"The target URL of the SCM org or repo for which this credential applies.\nExamples:\n  - Org-level:  \"https://github.com/myorg\"\n  - Repo-level: \"https://github.com/myorg/private-repo\"\nGit URL rewrites will be applied for all sub-paths of this URL.","type":"string"}},"required":["platform_source","target_url","access_token"],"type":"object"},"v1SCMWebhookEvent":{"description":"SCMWebhookEvent represents SCM webhook events that are processed by the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SCMWebhookEventSpec"},"uuid":{"readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SCMWebhookEventSpec":{"properties":{"azure_event":{"$ref":"#/components/schemas/v1AzureEvent"},"bitbucket_event":{"$ref":"#/components/schemas/v1BitbucketEvent"},"github_event":{"$ref":"#/components/schemas/v1GitHubEvent"},"gitlab_event":{"$ref":"#/components/schemas/v1GitLabEvent"},"payload":{"description":"Payload of the event.","format":"byte","type":"string"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"}},"required":["platform_source","payload"],"type":"object"},"v1SPDXSpecVersion":{"default":"SPDX_SPEC_VERSION_UNSPECIFIED","description":"SPDX specification versions Endor emits. Values are added as Endor adds\nsupport, so this list is the supported set.\n\n - SPDX_SPEC_VERSION_UNSPECIFIED: Unset. The export uses the current SPDX default.\n - SPDX_SPEC_VERSION_2_3: SPDX 2.3.","enum":["SPDX_SPEC_VERSION_UNSPECIFIED","SPDX_SPEC_VERSION_2_3"],"type":"string"},"v1SarifArtifactContent":{"description":"Represents content of an artifact.","properties":{"binary":{"title":"Base64-encoded content","type":"string"},"rendered":{"$ref":"#/components/schemas/v1SarifText"},"text":{"title":"UTF-8 encoded content","type":"string"}},"type":"object"},"v1SarifArtifactLocation":{"properties":{"uri":{"title":"URI of the artifact (file)","type":"string"},"uri_base_id":{"title":"Base URI identifier for resolving relative paths","type":"string"}},"type":"object"},"v1SarifCodeFlow":{"description":"Code flow object representing a sequence of code locations that specify a data flow path.","properties":{"message":{"$ref":"#/components/schemas/v1SarifText"},"thread_flows":{"items":{"$ref":"#/components/schemas/v1SarifThreadFlow"},"title":"An array of one or more unique threadFlow objects","type":"array"}},"type":"object"},"v1SarifFingerprint":{"properties":{"author":{"title":"Name of the commit author","type":"string"},"commit_message":{"title":"Commit message associated with the change","type":"string"},"commit_sha":{"title":"Git commit SHA where the finding was detected","type":"string"},"date":{"title":"Date of the commit","type":"string"},"email":{"title":"Email of the commit author","type":"string"},"hash":{"title":"Hash of the primary location line for deduplication","type":"string"},"id":{"title":"Unique identifier based on matching criteria","type":"string"}},"type":"object"},"v1SarifLocation":{"properties":{"annotations":{"items":{"$ref":"#/components/schemas/v1SarifRegion"},"title":"An array of regions that describe regions within the artifact specified by the location object that is relevant to the location","type":"array"},"id":{"description":"A unique identifier for this location object.","format":"int32","type":"integer"},"logical_locations":{"description":"The logical locations associated with a physical location.","items":{"$ref":"#/components/schemas/v1SarifLogicalLocation"},"type":"array"},"message":{"$ref":"#/components/schemas/v1SarifText"},"physical_location":{"$ref":"#/components/schemas/SarifLocationPhysicalLocation"},"relationships":{"description":"An array of relationships between this location and other locations.","items":{"$ref":"#/components/schemas/v1SarifRelationship"},"type":"array"}},"type":"object"},"v1SarifLogicalLocation":{"description":"A logical location that can be used to locate an artifact.","properties":{"decorated_name":{"description":"The name of the decorated logical location.","type":"string"},"fully_qualified_name":{"description":"The fully qualified name of the logical location.","type":"string"},"index":{"description":"The 0-based index of this logical location in an array of logical locations.","format":"int32","type":"integer"},"kind":{"description":"The kind of logical location.","type":"string"},"name":{"description":"The name of the logical location.","type":"string"},"parent_index":{"description":"The name of the parent of this logical location.","format":"int32","type":"integer"},"properties":{"description":"Key/value pairs that provide additional information.","type":"object"}},"type":"object"},"v1SarifRegion":{"properties":{"end_column":{"format":"int32","title":"Ending column number in the file","type":"integer"},"end_line":{"format":"int32","title":"Ending line number in the file","type":"integer"},"snippet":{"$ref":"#/components/schemas/v1SarifText"},"start_column":{"format":"int32","title":"Starting column number in the file","type":"integer"},"start_line":{"format":"int32","title":"Starting line number in the file","type":"integer"}},"type":"object"},"v1SarifRelationship":{"description":"A relationship between two locations.","properties":{"description":{"$ref":"#/components/schemas/v1SarifText"},"kinds":{"description":"A set of strings that describe the relationship.","items":{"type":"string"},"type":"array"},"properties":{"description":"Key/value pairs that provide additional information about the relationship.","type":"object"},"target":{"description":"The id of the location that is the target of the relationship.","format":"int32","type":"integer"}},"type":"object"},"v1SarifReportingDescriptorReference":{"description":"A reference to a reporting descriptor.","properties":{"guid":{"description":"The globally unique identifier for the referenced reporting descriptor.","type":"string"},"id":{"description":"The id of the referenced reporting descriptor.","type":"string"},"index":{"description":"The index of the referenced reporting descriptor in the toolComponent.rules array.","format":"int32","type":"integer"},"tool_component":{"$ref":"#/components/schemas/v1SarifToolComponentReference"}},"type":"object"},"v1SarifResult":{"properties":{"code_flows":{"description":"Code flow object representing a sequence of code locations that specify a data flow path.","items":{"$ref":"#/components/schemas/v1SarifCodeFlow"},"type":"array"},"fingerprints":{"$ref":"#/components/schemas/v1SarifFingerprint"},"level":{"title":"Severity level of the notification (e.g., \"error\", \"warning\")","type":"string"},"locations":{"items":{"$ref":"#/components/schemas/v1SarifLocation"},"title":"List of locations in the code where the finding was detected","type":"array"},"message":{"$ref":"#/components/schemas/v1SarifText"},"partial_fingerprints":{"$ref":"#/components/schemas/v1SarifFingerprint"},"properties":{"$ref":"#/components/schemas/v1SarifResultProperty"},"rule_id":{"title":"Unique identifier of the rule that triggered this result","type":"string"},"suppressions":{"items":{"$ref":"#/components/schemas/v1SarifSuppression"},"type":"array"}},"type":"object"},"v1SarifResultProperty":{"properties":{"action_policies_triggered":{"items":{"type":"string"},"title":"List of action policies that were triggered by this finding","type":"array"},"categories":{"items":{"type":"string"},"title":"List of categories the finding belongs to","type":"array"},"cvss_score":{"format":"float","title":"Common Vulnerability Scoring System (CVSS) score, ranging from 0.0 to 10.0","type":"number"},"cvss_vector":{"title":"CVSS vector string describing the characteristics of the vulnerability","type":"string"},"cvss_version":{"$ref":"#/components/schemas/SpecCVSSVersion"},"epss_percentile_score":{"format":"double","title":"EPSS percentile score, showing how severe the vulnerability is compared to others","type":"number"},"epss_probability_score":{"format":"double","title":"Exploit Prediction Scoring System (EPSS) probability score, indicating likelihood of exploitation","type":"number"},"explanation":{"title":"Detailed explanation of the finding and its implications","type":"string"},"finding_url":{"title":"URL to view the finding in the Endor platform","type":"string"},"finding_uuid":{"title":"Unique identifier for the finding","type":"string"},"impact_score":{"format":"float","title":"Custom impact score assigned to the finding based on business context","type":"number"},"project_uuid":{"title":"Unique identifier for the project where the finding was discovered","type":"string"},"remediation":{"title":"Recommended steps to fix or mitigate the finding","type":"string"},"tags":{"items":{"type":"string"},"title":"List of tags associated with the finding, used for categorization and filtering","type":"array"}},"type":"object"},"v1SarifStack":{"description":"Represents a call stack.","properties":{"frames":{"items":{"$ref":"#/components/schemas/v1SarifStackFrame"},"title":"An array of stack frames","type":"array"},"message":{"$ref":"#/components/schemas/v1SarifText"}},"required":["frames"],"type":"object"},"v1SarifStackFrame":{"description":"A single stack frame.","properties":{"location":{"$ref":"#/components/schemas/v1SarifLocation"},"module":{"title":"The name of the module that contains the location to which this stack frame refers","type":"string"},"parameters":{"items":{"type":"string"},"title":"The parameters passed to the function","type":"array"},"thread_id":{"format":"int32","title":"The thread identifier","type":"integer"}},"type":"object"},"v1SarifSuppression":{"properties":{"kind":{"$ref":"#/components/schemas/SarifSuppressionKind"}},"type":"object"},"v1SarifText":{"properties":{"markdown":{"description":"Markdown representation of the content.","type":"string"},"text":{"title":"The actual text content","type":"string"}},"type":"object"},"v1SarifThreadFlow":{"description":"Thread flow object representing a sequence of code locations executed by a single thread.","properties":{"id":{"title":"A unique identifier for the thread flow within the code flow","type":"string"},"immutable_state":{"title":"Values of relevant expressions at the start of the thread flow that remain constant","type":"object"},"initial_state":{"title":"Values of relevant expressions at the start of the thread flow","type":"object"},"locations":{"items":{"$ref":"#/components/schemas/v1SarifThreadFlowLocation"},"title":"The locations that were executed during this thread flow","type":"array"},"message":{"$ref":"#/components/schemas/v1SarifText"}},"required":["locations"],"type":"object"},"v1SarifThreadFlowLocation":{"description":"A location visited by an analysis tool in the course of simulating or tracing the execution of a program.","properties":{"execution_order":{"format":"int32","title":"An integer representing the temporal order in which execution reached this location","type":"integer"},"execution_time_utc":{"title":"The time at which execution reached this location","type":"string"},"importance":{"$ref":"#/components/schemas/SarifThreadFlowLocationImportance"},"index":{"format":"int32","title":"The index of the thread flow location within the thread flow","type":"integer"},"kinds":{"items":{"type":"string"},"title":"An array of strings that classify the location","type":"array"},"location":{"$ref":"#/components/schemas/v1SarifLocation"},"module":{"title":"The name of the module that contains the code location","type":"string"},"nesting_level":{"format":"int32","title":"An integer representing the level of nesting within the thread flow","type":"integer"},"stack":{"$ref":"#/components/schemas/v1SarifStack"},"state":{"additionalProperties":{"$ref":"#/components/schemas/v1SarifText"},"title":"Values of relevant expressions at this location","type":"object"},"taxa":{"description":"A set of distinct strings that categorize the thread flow location.","items":{"$ref":"#/components/schemas/v1SarifReportingDescriptorReference"},"type":"array"},"web_request":{"$ref":"#/components/schemas/v1SarifWebRequest"},"web_response":{"$ref":"#/components/schemas/v1SarifWebResponse"}},"type":"object"},"v1SarifToolComponentReference":{"description":"A reference to a tool component.","properties":{"guid":{"description":"The globally unique identifier for the tool component.","type":"string"},"index":{"description":"The index of the tool component in the tool.extensions array.","format":"int32","type":"integer"},"name":{"description":"The name of the tool component.","type":"string"}},"type":"object"},"v1SarifWebRequest":{"description":"Describes an HTTP request.","properties":{"body":{"$ref":"#/components/schemas/v1SarifArtifactContent"},"headers":{"title":"The request headers","type":"object"},"index":{"format":"int32","title":"The index of the request within run.webRequests","type":"integer"},"method":{"title":"The HTTP method","type":"string"},"parameters":{"title":"The request parameters","type":"object"},"protocol":{"title":"The HTTP protocol used","type":"string"},"target":{"title":"The target of the request","type":"string"},"version":{"title":"The HTTP version","type":"string"}},"type":"object"},"v1SarifWebResponse":{"description":"Describes an HTTP response.","properties":{"body":{"$ref":"#/components/schemas/v1SarifArtifactContent"},"headers":{"title":"The response headers","type":"object"},"index":{"format":"int32","title":"The index of the response within run.webResponses","type":"integer"},"no_response_received":{"title":"Set to true if the response was intercepted","type":"boolean"},"protocol":{"title":"The HTTP protocol used","type":"string"},"reason_phrase":{"title":"The reason phrase","type":"string"},"status_code":{"format":"int32","title":"The status code","type":"integer"},"version":{"title":"The HTTP version","type":"string"}},"type":"object"},"v1SastData":{"description":"Fields common to every SAST-shaped finding: AI SAST and rule-based\n(opengrep) findings alike. location reuses SourceLocation rather than a\nseparate snippet field.","properties":{"ai_analyses":{"description":"False-positive analyses. Populating this reroutes the finding to the\nFP-validation UI tab.","items":{"$ref":"#/components/schemas/v1LinterCorrectnessAnalysis"},"type":"array"},"classification":{"$ref":"#/components/schemas/v1FindingClassification"},"confidence":{"description":"Confidence that the finding is a true positive.","type":"string"},"cwes":{"description":"CWE identifiers associated with the finding.","items":{"type":"string"},"type":"array"},"impact":{"description":"Impact of the finding if exploited.","type":"string"},"languages":{"description":"Programming languages the finding's location spans.","items":{"type":"string"},"type":"array"},"likelihood":{"description":"Likelihood the finding is exploitable. Rule-based findings only.","type":"string"},"location":{"$ref":"#/components/schemas/v1SourceLocation"},"message":{"description":"Detailed finding message, shown when the finding has no explanation or\nremediation text of its own.","type":"string"},"references":{"description":"Reference links for the finding.","items":{"type":"string"},"type":"array"},"rule_id":{"description":"Rule identifier: CWE ID for an AI SAST finding, or the rule id for a\nrule-based finding.","type":"string"},"rule_name":{"description":"Human-readable rule/CWE name, used for UI grouping and rule filtering.","type":"string"},"rule_uuid":{"description":"UUID of the SemgrepRule resource that produced the finding. Rule-based\nfindings only.","type":"string"},"rule_version":{"description":"Version of the rule that produced the finding. Rule-based findings only.","type":"string"},"tags":{"description":"Compliance/classification tags (e.g. OWASP, SANS).","items":{"type":"string"},"type":"array"},"title":{"description":"Short display title for the detected pattern, distinct from rule_name.","type":"string"}},"type":"object"},"v1SavedQuery":{"description":"SavedQuery implements the metric query requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SavedQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a saved query.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1SavedQuerySpec":{"properties":{"is_default":{"description":"Indicates that this saved query is the namespace default for the\nresource kind in the query.","type":"boolean"},"lock":{"description":"Lock is used internally and not available to users.","readOnly":true,"type":"boolean"},"monitor":{"description":"Indicates that the service will automatically evaluate this query on\na daily basis and keep a value available for quick display.","type":"boolean"},"query":{"$ref":"#/components/schemas/v1Query"},"query_type":{"$ref":"#/components/schemas/SavedQuerySpecQueryType"}},"type":"object"},"v1ScalaToolChain":{"properties":{"java_version":{"$ref":"#/components/schemas/v1ToolChainVersion"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1ScanCreditUsage":{"description":"ScanCreditUsage is a per-tenant snapshot of scan credit consumption produced\nby the licensing aggregation job. One object is written per aggregation run\ncovering a fixed [period_start, period_end) window. The most recent object's\nterm_* fields hold cumulative usage for the current contract term anchored\nat EndorLicense.spec.credits_period_start.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanCreditUsageSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the scan credit usage record.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1ScanCreditUsageSpec":{"properties":{"credits_period_start":{"description":"Anchor timestamp of the current contract term. Snapshotted from\nEndorLicense.spec.credits_period_start at aggregation time so historic\nrows remain interpretable after renewal.","format":"date-time","type":"string"},"cumulative_breakdown":{"$ref":"#/components/schemas/ScanCreditUsageScanCreditBreakdown"},"cumulative_scan_credits":{"description":"Cumulative credits consumed since credits_period_start through\nwindow_end. Sum of all six cumulative_breakdown counters. Used to\nrender remaining credits and overage in the UI without rescanning all\nsnapshots.","format":"int64","type":"string"},"onboarded_project_count":{"description":"Number of non-deleted projects onboarded under the tenant observed at\naggregation time. Used to decide whether the 5x-seats default-branch cap\nwas exceeded.","format":"int32","type":"integer"},"overflow_project_count":{"description":"Number of projects beyond the 5x-seats cap whose default-branch scans\ncontributed to *_main_overflow_credits counters. Zero when\nonboarded_project_count \u003c= 5 * seats.","format":"int32","type":"integer"},"scan_credit_limit":{"description":"Scan credit limit in effect at aggregation time. Snapshotted from\nEndorLicense.spec.scan_credit_limit. Overage = max(0, cumulative_scan_credits - credit_limit).","format":"int64","type":"string"},"window_breakdown":{"$ref":"#/components/schemas/ScanCreditUsageScanCreditBreakdown"},"window_end":{"description":"End of the aggregation window this snapshot covers (exclusive). All\nScanResults with create_time in [window_start, window_end) contributed\nto window_* fields.","format":"date-time","type":"string"},"window_scan_credits":{"description":"Total credits consumed during [window_start, window_end). Sum of all\nsix window_breakdown counters.","format":"int64","type":"string"},"window_start":{"description":"Start of the aggregation window this snapshot covers (inclusive).\nTypically equals the previous run's window_end, or term_start for the\nfirst run of a term.","format":"date-time","type":"string"}},"required":["window_start","window_end","credits_period_start","window_scan_credits","cumulative_scan_credits","window_breakdown","cumulative_breakdown"],"type":"object"},"v1ScanLogRequest":{"description":"ScanLogRequest represents a CRUD operation on a message.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanLogRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of scan log request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ScanLogRequestLogMessage":{"properties":{"json_payload":{"description":"The json payload of the message.","type":"object"},"level":{"$ref":"#/components/schemas/v1LogLevel"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags that are associated with the log message.","type":"object"},"timestamp":{"description":"The timestamp of the log message.","format":"date-time","type":"string"}},"type":"object"},"v1ScanLogRequestSpec":{"properties":{"admin_filter":{"description":"admin_filter is an extra filter that is only available for admin users.","type":"string"},"admin_search":{"description":"admin_search enables searching logs across all scans within the requested\nnamespace using only admin_filter (e.g., grep for an error string).\nRequires admin_filter and start_time to be set.\nOnly available to Endor internal accounts.","type":"boolean"},"applied_filter":{"description":"applied_filter is the filter that is applied to the logs.","readOnly":true,"type":"string"},"end_time":{"description":"Cap the time range of the logs to be returned.\nDefault is 2 days from start_time.","format":"date-time","type":"string"},"execution_id":{"description":"Execution id of the scan that should be used to filter the logs.\nThis maps to spec.result.ci_run_uuid in the ScanRequest and\nspec.environment.config.ExecutionID in the ScanResult.\n\nPerformance optimization:\nProvide spec.start_time to avoid DB lookups for scan request/result timestamps.\nNote: If using scan result timestamps, subtract an hour to ensure no logs are missed.","type":"string"},"installation_uuid":{"description":"installation_uuid of the installation that should be used to filter the logs.","type":"string"},"log_levels":{"description":"log_levels are the log levels that should be used to filter the logs.\nOptional argument.","items":{"$ref":"#/components/schemas/v1LogLevel"},"type":"array"},"log_messages":{"description":"An array of log messages provided as JSON payloads\nthat the output of the request.","items":{"$ref":"#/components/schemas/v1ScanLogRequestLogMessage"},"readOnly":true,"type":"array"},"max_entries":{"description":"max_entries is the maximum number of log entries to return.","format":"int32","type":"integer"},"newest_first":{"description":"newest_first asks for log entries to be returned in reverse chronological\norder.","type":"boolean"},"onprem_scheduler_uuid":{"description":"onprem_scheduler_uuid of the onprem scheduler that should be used to filter the logs.","type":"string"},"project_uuid":{"description":"project_uuid of the project that should be used to filter the logs.","type":"string"},"scan_request_uuid":{"description":"scan_request_uuid that should be used to filter the logs.","type":"string"},"scan_result_uuid":{"description":"UUID of the scan result that should be used to filter the logs.","type":"string"},"start_time":{"description":"start_time is the time that the log should start from.\nif not defined, the create time of the corresponding scan request\nwill be used.","format":"date-time","type":"string"},"traverse":{"description":"traverse includes child namespaces in the search. Only honored when\ntarget_uuid = admin_search. Endor-only.","type":"boolean"}},"required":["max_entries"],"type":"object"},"v1ScanProfile":{"description":"ScanProfile represents the scan configuration to use across different\nprojects.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ScanProfileSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1ScanProfileSpec":{"description":"Spec is the internal specification of the object.","properties":{"ai_sast_analysis_parameters":{"$ref":"#/components/schemas/v1AISastAnalysisParameters"},"automated_scan_parameters":{"$ref":"#/components/schemas/v1AutomatedScanParameters"},"exporter_parameters":{"$ref":"#/components/schemas/SpecExporterParameters"},"is_default":{"description":"is_default indicates that the scan profile is the namespace default.","type":"boolean"},"remediation_parameters":{"$ref":"#/components/schemas/v1RemediationParameters"},"security_review_scanner_parameters":{"$ref":"#/components/schemas/SpecSecurityReviewScannerParameters"},"toolchain_profile":{"$ref":"#/components/schemas/v1ToolChainProfile"}},"type":"object"},"v1ScanRequest":{"description":"ScanRequest represents a request to scan a particular PR and is only\nused by the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the source control scan request.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1ScanRequestSpec":{"properties":{"azure_payload":{"$ref":"#/components/schemas/v1AzurePayload"},"bitbucket_payload":{"$ref":"#/components/schemas/v1BitbucketPayload"},"commit_sha":{"description":"The commit sha of the request that will be checked out.","type":"string"},"external_scm_reference":{"description":"external_reference to the ID of the SCM tool that has initiated this\nrequested.","type":"string"},"finding_refresh":{"$ref":"#/components/schemas/SpecFindingRefresh"},"github_payload":{"$ref":"#/components/schemas/v1GitHubPayload"},"gitlab_payload":{"$ref":"#/components/schemas/v1GitlabPayload"},"installation_uuid":{"description":"Specifies the UUID of the installation.","type":"string"},"is_on_premise":{"description":"is_on_premise specifies if this scan request\nis processed by scheduler on premise.","readOnly":true,"type":"boolean"},"origin":{"$ref":"#/components/schemas/SpecScanRequestOrigin"},"pr_check_run_conclusion":{"description":"pr_check_run_conclusion is the conclusion of the PR check run.","type":"string"},"pr_run_uuid":{"description":"pr_run_uuid is the UUID of the PR run that executed this request.","type":"string"},"project_uuid":{"description":"Specifies the UUID of the project.","type":"string"},"pull_request_id":{"description":"The PR for which this request is been created. If no PR\nis provided, it is assumed that this is merge to the default\nbranch and it will be executed with the --pr flag.","type":"string"},"ref":{"description":"The ref of the base branch that the PR is being merged into.","type":"string"},"request_full_scan":{"description":"request_full_scan is a flag to indicate if the scan should be a full\nscan.","type":"boolean"},"request_pr_comments":{"description":"request_pr_comments is a flag to indicate if the scan should comment on\nthe PR.","type":"boolean"},"request_pr_incremental":{"description":"request_pr_incremental is a flag to request a PR incremental scan.","type":"boolean"},"request_rescan":{"description":"request_rescan is a flag to request rescan.","type":"boolean"},"result":{"$ref":"#/components/schemas/SpecScanRequestResult"},"scheduled_time":{"description":"scheduled_time is the time at which the scan is scheduled to run.","format":"date-time","readOnly":true,"type":"string"},"status":{"$ref":"#/components/schemas/SpecScanRequestStatus"},"tenant_name":{"description":"tenant_name  is the tenant (and not the namespace) that is the owner\nof this scan request.","type":"string"},"type":{"$ref":"#/components/schemas/SpecScanRequestType"}},"type":"object"},"v1ScanResult":{"description":"Contains the results of an endorctl scan.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanResultSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the object.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1ScanResultSpec":{"description":"ScanResult specific data.","properties":{"all_findings":{"additionalProperties":{"$ref":"#/components/schemas/SpecFindingData"},"description":"Deprecated.","type":"object"},"blocking_findings":{"description":"List of blocking finding uuids identified by the scan.","items":{"type":"string"},"type":"array"},"components_executed":{"description":"Scanner components that actually executed during this scan.","items":{"$ref":"#/components/schemas/SpecScanComponent"},"type":"array"},"deleted_findings":{"additionalProperties":{"$ref":"#/components/schemas/SpecFindingData"},"description":"Map of basic metadata for all findings deleted by the scan, indexed by finding uuid.\nNot available for CI runs.","type":"object"},"deleted_package_versions":{"additionalProperties":{"$ref":"#/components/schemas/SpecPackageVersionData"},"description":"List of deleted package versions indexed by UUID.","type":"object"},"ecosystem_dep_counts":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Number of dependencies per ecosystems processed during the scan.","type":"object"},"ecosystem_pkg_counts":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Number of package versions per ecosystems processed during the scan.","type":"object"},"end_time":{"description":"Time the scan ended.","format":"date-time","type":"string"},"environment":{"$ref":"#/components/schemas/SpecEnvironment"},"errors":{"description":"Deprecated.","items":{"type":"string"},"type":"array"},"exception_findings":{"additionalProperties":{"$ref":"#/components/schemas/SpecFindingData"},"description":"Deprecated.","type":"object"},"exit_code":{"$ref":"#/components/schemas/v1EndorctlRC"},"findings":{"description":"List of all finding UUIDs identified by the scan.","items":{"type":"string"},"type":"array"},"has_panic":{"description":"True if there was a panic during the scan.","type":"boolean"},"infos":{"description":"Deprecated.","items":{"type":"string"},"type":"array"},"languages_detected":{"description":"List of languages detected by the scan.","items":{"type":"string"},"type":"array"},"logs":{"description":"User facing log output for the scan.","items":{"type":"string"},"type":"array"},"policies_triggered":{"description":"List of policy uuids triggered during the scan.","items":{"type":"string"},"type":"array"},"provisioning_result":{"$ref":"#/components/schemas/SpecProvisioningResultData"},"provisioning_result_uuid":{"type":"string"},"refs":{"description":"List of branches scanned.","items":{"type":"string"},"type":"array"},"runtimes":{"additionalProperties":{"format":"int32","type":"integer"},"description":"A map of internal scan type runtimes (in milliseconds) indexed by internal scan type string.","type":"object"},"start_time":{"description":"Time the scan started.","format":"date-time","type":"string"},"stats":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Map of stats such as how many issues were ingested during the scan.","type":"object"},"status":{"$ref":"#/components/schemas/ScanResultSpecStatus"},"type":{"$ref":"#/components/schemas/ScanResultSpecType"},"versions":{"description":"Version information for each ref.","items":{"$ref":"#/components/schemas/v1Version"},"type":"array"},"warning_findings":{"description":"List of warning finding uuids identified by the scan.","items":{"type":"string"},"type":"array"},"warnings":{"description":"Deprecated.","items":{"type":"string"},"type":"array"}},"required":["status","type"],"type":"object"},"v1ScanState":{"default":"SCAN_STATE_UNSPECIFIED","description":"Scan state for a project or package version.\n\n - SCAN_STATE_NOT_PROCESSED: Object has not been processed by the system yet.\nSet when the project or package is created for the first time.\nA new project or package version is automatically placed in this state.\n - SCAN_STATE_IDLE: Object has been scanned at least once.\n - SCAN_STATE_INGESTING: Object is being scanned.\n - SCAN_STATE_ANALYTIC: Object is being analyzed.\n - SCAN_STATE_UNREACHABLE: Object cannot be ingested because it is not reachable from the scheduler.\n - SCAN_STATE_REQUEST_FULL_RESCAN: Object is marked for a complete rescan.\nThis only applies to OSS projects.\n - SCAN_STATE_REQUEST_INCREMENTAL_RESCAN: Object is marked for an incremental rescan, where only new packages\ndiscovered in the scan are added. Indicates that this project should be\nrescanned with a higher priority. Often because it is used by a customer\nand we need any new packages to be discovered and scanned with higher\npriority. If the project is put in this state, we will scan any new\npackages at high priority but we will not re-scan older packages.\n - SCAN_STATE_QUEUED: Object is queued to be scanned.\n - SCAN_STATE_QUARANTINED: Scan scheduling was unsuccessful due to a system errors. Object is\nquarantined from additional scheduling. Potentially object is an\norphan or similar situations.","enum":["SCAN_STATE_UNSPECIFIED","SCAN_STATE_NOT_PROCESSED","SCAN_STATE_IDLE","SCAN_STATE_INGESTING","SCAN_STATE_ANALYTIC","SCAN_STATE_UNREACHABLE","SCAN_STATE_REQUEST_FULL_RESCAN","SCAN_STATE_REQUEST_INCREMENTAL_RESCAN","SCAN_STATE_QUEUED","SCAN_STATE_QUARANTINED"],"type":"string"},"v1ScanWorkflow":{"description":"ScanWorkflow corresponds to a workflow of scan steps.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The unique identifier of the scan workflow.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ScanWorkflowResult":{"description":"ScanWorkflowResult corresponds to a workflow scan result.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScanWorkflowResultSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The unique identifier of the scan workflow result.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1ScanWorkflowResultSpec":{"properties":{"end_time":{"description":"Time the scan ended.","format":"date-time","type":"string"},"execution_id":{"description":"The execution ID for all scans.","type":"string"},"start_time":{"description":"Time the scan started.","format":"date-time","type":"string"},"stats":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Map of stats such as how many issues were ingested during the scan.","type":"object"},"status":{"$ref":"#/components/schemas/ScanResultSpecStatus"},"versions":{"description":"Version information for each ref.","items":{"$ref":"#/components/schemas/v1Version"},"type":"array"},"workflow_results":{"description":"The workflow step results.","items":{"$ref":"#/components/schemas/SpecWorkflowResult"},"type":"array"}},"required":["status"],"type":"object"},"v1ScanWorkflowSpec":{"properties":{"automated_scan_parameters":{"$ref":"#/components/schemas/v1AutomatedScanParameters"},"remediation_parameters":{"$ref":"#/components/schemas/v1RemediationParameters"},"steps":{"description":"The workflow steps.","items":{"$ref":"#/components/schemas/SpecWorkflowStep"},"type":"array"}},"type":"object"},"v1SchedulerResourceHistory":{"description":"SchedulerResourceHistory stores per-project resource usage history and sizing\nrecommendations for scheduler jobs. One document per (project_uuid, kind).\nWritten by the resource recorder on job completion; read by the launcher to\nsize the next run's resource requests.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SchedulerResourceHistorySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the scheduler resource history record.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1SchedulerResourceHistorySpec":{"description":"Spec holds the project binding, job kind, run history ring buffer, and\nthe current sizing recommendation derived from that history.","properties":{"kind":{"description":"The type of scheduler job this history covers.","type":"string"},"project_uuid":{"description":"The project this history belongs to.","type":"string"},"recommendation":{"$ref":"#/components/schemas/SchedulerResourceHistoryRecommendation"},"runs":{"description":"Bounded ring buffer of per-run resource usage summaries, newest last.\nMaintained via atomic $push/$slice(-N) on upsert.","items":{"$ref":"#/components/schemas/SchedulerResourceHistoryRunSummary"},"type":"array"}},"type":"object"},"v1ScopePolicy":{"description":"ScopePolicy represents a scope policy in the system. Scope policies allow users\nto select for a set of projects (or namespaces) as defined by the project selectors.\nIt is the set of policies that are applied to these projects as defined by a policy selector.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ScopePolicySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a scope policy.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ScopePolicySpec":{"properties":{"excluded_project_tag_selector":{"description":"The set of tags that projects must not have for the scope policy to be executed against.","items":{"type":"string"},"type":"array"},"policy_namespace_selector":{"description":"Selects all policies in the namespace to be applied.\nIf the policy_namespace_selector is defined, the policy_tag_selector cannot be defined at the same time.\nFor example, defining a policy_namespace_selector of \"tenant\" will indicate that all policies\nin the tenant must be applied to the projects defined with the above selectors.","items":{"type":"string"},"type":"array"},"policy_tag_selector":{"description":"The set of tags that policies must match to be applied to a project.","items":{"type":"string"},"type":"array"},"project_namespace_selector":{"description":"The list of namespaces for which this scope rule will apply.\nFor example, defining a namespace \"tenant\" will mean that the rule applies for all\nprojects in the namespace.","items":{"type":"string"},"type":"array"},"project_tag_selector":{"description":"The set of tags that projects must have for the scope policy to be executed against.\nIf left empty, the scope policy applies to all projects of the namespace. The items in the array\ncorrespond to an OR operator. That is, any project with a tag that matches any\nof the project_selector values will be matched.","items":{"type":"string"},"type":"array"}},"required":["project_namespace_selector","policy_namespace_selector"],"type":"object"},"v1ScoreCard":{"description":"A scorecard contains a total score per ScoreCategory.","properties":{"analysis_scope_description":{"description":"Description of the analysis scope.","type":"string"},"category_scores":{"description":"The per category scores.","items":{"$ref":"#/components/schemas/v1CategoryScore"},"type":"array"},"overall_score":{"description":"The overall score.","format":"float","type":"number"}},"type":"object"},"v1ScoreCategory":{"default":"SCORE_CATEGORY_UNSPECIFIED","description":"The types of scores that Endor Labs tracks.\n\n - SCORE_CATEGORY_POPULARITY: Tracks a project's popularity.\n - SCORE_CATEGORY_ACTIVITY: Tracks the amount of activity around a project.\n - SCORE_CATEGORY_BEST_PRACTICES: Tracks how much a project follows various development best practices.\n - SCORE_CATEGORY_SUSPICIOUS_ACTIVITY: Tracks suspicious activity on a project.\n - SCORE_CATEGORY_DEPENDENCIES: Tracks the dependencies of a project.\n - SCORE_CATEGORY_SECURITY: Tracks security aspects of a project.\n - SCORE_CATEGORY_CODE_QUALITY: Tracks the code quality of a project.\n - SCORE_CATEGORY_OPERATIONAL_RISK: Tracks the operationa risk of a project.","enum":["SCORE_CATEGORY_UNSPECIFIED","SCORE_CATEGORY_POPULARITY","SCORE_CATEGORY_ACTIVITY","SCORE_CATEGORY_BEST_PRACTICES","SCORE_CATEGORY_SUSPICIOUS_ACTIVITY","SCORE_CATEGORY_DEPENDENCIES","SCORE_CATEGORY_SECURITY","SCORE_CATEGORY_CODE_QUALITY","SCORE_CATEGORY_OPERATIONAL_RISK"],"type":"string"},"v1ScoreFactor":{"description":"A score factor for an object. Each score factor\ndescribes a piece of information used while computing the overall score.\nEach factor is associated with a specific category. Score factors can have a\npositive impact on the repository score and then they have a positive score, or can\nhave a negative impact on the overall score and then they have a positive score.\nThe description captures additional information for the particular factor.\nIn general there are many (tens or hundreds) of such score factors split across the ScoreCategory categories.\n\nPostive score factor example:\n\n Category: SCORE_CATEGORY_BEST_PRACTICES\n\n Score: 2\n\n Description: The repository is enforcing signed commits.\n\nNegative score factor example:\n\nCategory: SCORE_CATEGORY_VULNERABILITIES\n\nScore: -1\n\nDescription: the repository has unresolved issues related to vulnerabilities that have been open for more than 3 months.","properties":{"category":{"$ref":"#/components/schemas/v1ScoreCategory"},"description":{"description":"Text description of the factor and its meaning.","type":"string"},"evidence":{"description":"The details of what the factor was raised.","type":"string"},"id":{"description":"Unique ID to identify the factor.","type":"string"},"name":{"description":"An external name for the factor.","type":"string"},"score":{"description":"The score for this factor.","format":"int32","type":"integer"},"score_float":{"description":"The float value of the score for the factor.","format":"float","type":"number"}},"type":"object"},"v1ScoreFactorList":{"description":"A list of score factors that are directly exported by the related anlaytics.","properties":{"score_factors":{"items":{"$ref":"#/components/schemas/v1ScoreFactor"},"type":"array"}},"type":"object"},"v1ScoreOptions":{"description":"ScoreOptions is used to score the result and potentially adjust the score.","properties":{"boost":{"description":"boost is used to boost the score of the result.","format":"float","type":"number"},"constant":{"description":"constant is to used to replace the score of the result.","format":"float","type":"number"}},"type":"object"},"v1ScpmData":{"description":"ScpmData contains normalized SCPM data.","properties":{"branch_access":{"$ref":"#/components/schemas/v1BranchAccess"},"organization_access":{"$ref":"#/components/schemas/v1OrganizationAccess"},"platform_source":{"$ref":"#/components/schemas/v1PlatformSource"},"raw":{"description":"Raw, platform specific, ingested data.","type":"object"},"repository_access":{"$ref":"#/components/schemas/v1RepositoryAccess"}},"required":["platform_source","raw"],"type":"object"},"v1SearchClause":{"description":"SearchClause defines the search criteria.","properties":{"autocomplete":{"$ref":"#/components/schemas/v1SearchClauseAutocomplete"},"compound":{"$ref":"#/components/schemas/v1SearchQuery"},"equals":{"$ref":"#/components/schemas/v1SearchClauseEquals"},"in":{"$ref":"#/components/schemas/v1SearchClauseIn"},"phrase":{"$ref":"#/components/schemas/v1SearchClausePhrase"},"query_string":{"$ref":"#/components/schemas/v1SearchClauseQueryString"},"range":{"$ref":"#/components/schemas/v1SearchClauseRange"},"regex":{"$ref":"#/components/schemas/v1SearchClauseRegex"},"text":{"$ref":"#/components/schemas/v1SearchClauseText"},"wildcard":{"$ref":"#/components/schemas/v1SearchClauseWildcard"}},"type":"object"},"v1SearchClauseAutocomplete":{"description":"Search clause for the autocomplete operator.","properties":{"fuzzy":{"$ref":"#/components/schemas/v1Fuzzy"},"path":{"type":"string"},"query":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"},"token_order":{"title":"\"sequential\" or \"any\"","type":"string"}},"required":["path","query"],"type":"object"},"v1SearchClauseEquals":{"description":"Search clause for equals operator. Field must be indexed as token.","properties":{"path":{"description":"The path to the field to search.","type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"},"value":{"$ref":"#/components/schemas/v1SearchValue"}},"required":["path","value"],"type":"object"},"v1SearchClauseIn":{"description":"Search clause for in operator. Field must be indexed as token.","properties":{"path":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"},"values":{"items":{"$ref":"#/components/schemas/v1SearchValue"},"type":"array"}},"required":["path","values"],"type":"object"},"v1SearchClausePhrase":{"description":"Search clause for phrase operator. Field must be indexed as text.","properties":{"path":{"type":"string"},"query":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path","query"],"type":"object"},"v1SearchClauseQueryString":{"description":"Search clause for query string operator. Field must be indexed as text.","properties":{"path":{"type":"string"},"query":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path","query"],"type":"object"},"v1SearchClauseRange":{"description":"Search clause for the range operator. Field must be indexed as number.","properties":{"gt":{"$ref":"#/components/schemas/v1SearchValue"},"gte":{"$ref":"#/components/schemas/v1SearchValue"},"lt":{"$ref":"#/components/schemas/v1SearchValue"},"lte":{"$ref":"#/components/schemas/v1SearchValue"},"path":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path"],"type":"object"},"v1SearchClauseRegex":{"description":"Regex is used to search for a string that matches a regular expression.","properties":{"allow_analyzed":{"description":"Default: false.","type":"boolean"},"path":{"type":"string"},"query":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path","query"],"type":"object"},"v1SearchClauseText":{"description":"Search clause for text operator. Field must be indexed as text.","properties":{"full_match":{"description":"Default: false.","type":"boolean"},"fuzzy":{"$ref":"#/components/schemas/v1Fuzzy"},"path":{"description":"The path to the field to search.","type":"string"},"query":{"description":"The text to search for.","type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path","query"],"type":"object"},"v1SearchClauseWildcard":{"description":"Search clause for the wildcard operator.","properties":{"allow_analyzed":{"description":"Default: false.","type":"boolean"},"path":{"type":"string"},"query":{"type":"string"},"score_options":{"$ref":"#/components/schemas/v1ScoreOptions"}},"required":["path","query"],"type":"object"},"v1SearchQuery":{"description":"SearchQuery is the top level message for search queries.","properties":{"filters":{"description":"filters are used to filter the results.","items":{"$ref":"#/components/schemas/v1SearchClause"},"type":"array"},"must":{"description":"must clauses must be satisfied.","items":{"$ref":"#/components/schemas/v1SearchClause"},"type":"array"},"must_not":{"description":"must_not clauses must not be satisfied for a result to be returned.","items":{"$ref":"#/components/schemas/v1SearchClause"},"type":"array"},"should":{"description":"should clauses should be satisfied for a result to be returned.\nMainly used for partial matching.","items":{"$ref":"#/components/schemas/v1SearchClause"},"type":"array"}},"type":"object"},"v1SearchValue":{"description":"Search value is used to search for a value. This needs to be typed.","properties":{"bool_value":{"type":"boolean"},"double_value":{"format":"double","type":"number"},"int64_value":{"format":"int64","type":"string"},"string_value":{"type":"string"},"timestamp_value":{"format":"date-time","type":"string"}},"type":"object"},"v1SecretInfo":{"description":"A brief summary of secret results.","properties":{"confidence":{"description":"Confidence of the result.","type":"string"},"file":{"description":"The file where the result was found.","type":"string"},"line":{"description":"The line in the file where the result was found.","format":"int32","type":"integer"},"match":{"description":"The text that matched.","type":"string"},"rule_id":{"description":"The rule that generated the result.","type":"string"},"severity":{"description":"The severity of the result.","type":"string"},"snippet":{"description":"The source code that was responsible for triggering the result.","type":"string"}},"type":"object"},"v1SecretRule":{"properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in\nchildren namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SecretRuleSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the secret rule.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SecretRuleSpec":{"description":"Internal specification of the object.\n\nFollows the specification of the gitleaks configuration object defined\nhere: https://github.com/gitleaks/gitleaks/blob/master/config/rule.go","properties":{"allowlist":{"$ref":"#/components/schemas/v1Allowlist"},"allowlists":{"description":"Allows a rule to be ignored for specific regexes, paths, and/or commits.\nReplaces the singular allowlist field to align with gitleaks v8.21+\nconfig format, which supports multiple allowlists per rule with\nindependent regex_target and condition values.","items":{"$ref":"#/components/schemas/v1Allowlist"},"type":"array"},"description":{"description":"The description of the rule.","type":"string"},"disabled":{"description":"Rule is disabled.","type":"boolean"},"entropy":{"description":"A float representing the minimum Shannon entropy\na regex group must have to be considered a secret.","format":"float","type":"number"},"keywords":{"description":"Keywords are used for pre-regex check filtering. Rules that contain\nkeywords will perform a quick string compare check to make sure the\nkeywords are in the content being scanned.","items":{"type":"string"},"type":"array"},"path":{"title":"A golang regular expression used to\nfilter secrets by path","type":"string"},"regex":{"description":"A golang regular expression used to detect secrets.","type":"string"},"rule_id":{"description":"The unique identifier for this rule.","type":"string"},"secret_group":{"description":"An int used to extract secret from regex\nmatch and used as the group that will have its entropy\nchecked if `entropy` is set.","format":"int32","type":"integer"},"tags":{"description":"An array of strings used for metadata\nand reporting purposes.","items":{"type":"string"},"type":"array"},"validation":{"$ref":"#/components/schemas/v1HttpParamsProfile"}},"type":"object"},"v1SecretStats":{"description":"The secret statistics message. This is included as the payload of a metric object.","properties":{"distinct_file_types_with_secrets":{"description":"The count of distinct file types with secrets.","format":"int32","type":"integer"},"distinct_rules_with_results":{"description":"The count of distint rules with results.","format":"int32","type":"integer"},"file_cnt_by_category":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count for each category.","type":"object"},"file_cnt_by_file_type":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count for each file type.","type":"object"},"file_cnt_by_rule":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count for each rule.","type":"object"},"file_cnt_by_severity":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of distinct file count for each severity level.","type":"object"},"files_with_secrets_count":{"description":"The number of files with secrets.","format":"int32","type":"integer"},"result_count":{"description":"The number of secrets found.","format":"int32","type":"integer"},"results_cnt_by_file_type":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count for each file type.","type":"object"},"results_cnt_by_rule":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count for each rule.","type":"object"},"results_cnt_by_severity":{"additionalProperties":{"format":"int32","type":"integer"},"description":"The breakdown of result count for each severity level.","type":"object"},"secrets":{"description":"A list of all the linter results.","items":{"$ref":"#/components/schemas/v1SecretInfo"},"type":"array"}},"type":"object"},"v1SecretSummary":{"properties":{"fs_scanned":{"title":"Set when the secret was discovered by looking into the filesystem","type":"boolean"},"git_log_scanned":{"description":"Set when the secret was discovered by looking in the Git logs using the\nfull history option.","type":"boolean"},"secret_id":{"description":"Same value for two linter results with the same secret found in different\nlocations.","type":"string"},"validation":{"$ref":"#/components/schemas/v1ValidationStatus"}},"title":"Secret summary","type":"object"},"v1SecretsCheckActivity":{"description":"SecretsCheckActivity runs Endor's secret detection over file content (the\nproposed content of a write/edit, or a file read scanned from disk). Matching\nthe activity means running the scan; the verdict comes from the findings, not\nfrom the policy config.","properties":{"exclude_file_patterns":{"description":"Skip files whose path matches one of these regexes (e.g. test fixtures,\n\"*.example\" files, vendored dirs). Applied after include_file_patterns.","items":{"type":"string"},"type":"array"},"exclude_rule_ids":{"description":"Rule IDs whose findings this policy ignores. Matched as for\ninclude_rule_ids, and applied after it, so an id in both is ignored.","items":{"type":"string"},"type":"array"},"file_operations":{"description":"File operations to scan. Empty means write and edit; scanning a read means\nreading the file from disk, so reads are opt-in.","items":{"$ref":"#/components/schemas/v1FileAccessActivityFileOperation"},"type":"array"},"include_file_patterns":{"description":"Only scan files whose path matches one of these regexes. Empty means all\nfiles the event covers.","items":{"type":"string"},"type":"array"},"include_rule_ids":{"description":"Rule IDs whose findings this policy acts on, compared exactly and\ncase-sensitively against the rule id on each finding\n(SecretRule.spec.rule_id, e.g. \"aws-access-token\"). Empty means every rule in\nthe tenant's effective ruleset.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1SecretsMatch":{"description":"SecretsMatch describes a secret detected by the secrets check. It carries only\nthe rule and location, never the secret value, so a finding can be surfaced\nwithout leaking the credential.","properties":{"column":{"description":"Column in the scanned content where the secret starts.","format":"int32","type":"integer"},"fingerprint":{"description":"Unique finding fingerprint, for dedup and cross-round false-positive suppression.","type":"string"},"line":{"description":"Line number in the scanned content where the secret was found.","format":"int32","type":"integer"},"message":{"description":"Human-readable explanation of what fired.","type":"string"},"rule_description":{"description":"Friendly rule name (e.g. \"AWS Access Key\").","type":"string"},"rule_id":{"description":"Detection rule that fired (e.g. \"aws-access-token\", \"github-pat\").","type":"string"}},"type":"object"},"v1SecurityReviewFindingData":{"properties":{"ai_meta":{"$ref":"#/components/schemas/v1AIMeta"},"category":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityReviewCategory"},"code_snippet":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoCodeSnippet"},"justification":{"description":"Justification for the security review category.","type":"string"},"security_impact_type":{"$ref":"#/components/schemas/SecurityAspectMetricSecurityImpactType"}},"type":"object"},"v1SecurityReviewPullRequest":{"description":"SecurityReviewPullRequest represents a security review pull request.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SecurityReviewPullRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the security review pull request.","readOnly":true,"type":"string"}},"required":["meta","context"],"type":"object"},"v1SecurityReviewPullRequestSpec":{"properties":{"analysis_issues":{"description":"Special cases that occurred during analysis but didn't prevent partial completion.","items":{"$ref":"#/components/schemas/SecurityReviewPullRequestSpecAnalysisIssue"},"type":"array"},"approvers":{"description":"The approvers of the pull request.\nThis is only populated if the pull request was merged.","items":{"$ref":"#/components/schemas/v1PlatformAccount"},"type":"array"},"categories":{"description":"The categories of the security review pull request.","items":{"$ref":"#/components/schemas/PullRequestSecurityReviewResultInfoSecurityReviewCategory"},"type":"array"},"code_changes":{"$ref":"#/components/schemas/SpecCodeChanges"},"findings_info":{"$ref":"#/components/schemas/SpecFindingsInfo"},"has_pr_description":{"description":"Whether the pr has a description.","type":"boolean"},"is_latest_pr_scan":{"description":"Whether the security review pull request is the latest pull request scan.","type":"boolean"},"level":{"$ref":"#/components/schemas/SpecSecurityReviewLevel"},"project_uuid":{"description":"The UUID of the project to which the security review pull request belongs.","type":"string"},"repository_pull_request_spec":{"$ref":"#/components/schemas/v1RepositoryPullRequestSpec"},"security_summary":{"description":"The description of the security review pull request.","type":"string"}},"required":["repository_pull_request_spec","level","security_summary","code_changes","project_uuid"],"type":"object"},"v1SecurityReviewQuery":{"description":"SecurityReviewQuery is an internal API to accelerate the Security Review dashboard operations.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SecurityReviewQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the security review dashboard summary.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1SecurityReviewQuerySpec":{"properties":{"request":{"$ref":"#/components/schemas/SpecSRRequest"},"response":{"$ref":"#/components/schemas/SpecSRResponse"}},"type":"object"},"v1Segment":{"description":"Index segment with associated metadata.","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Extensibility field of additonal metadata\nthat we might want to carry with the segment.","type":"object"},"blame_time":{"description":"Git blame time of this segment.","format":"date-time","type":"string"},"commit_time":{"description":"Time of the repo version that this segment belongs to.","format":"date-time","type":"string"},"content":{"description":"Content of the segment.","format":"byte","type":"string"},"cyclomatic_complexity":{"description":"CyclomaticComplexity represents the complexity of the control flow.","format":"int32","type":"integer"},"file_hash":{"description":"SHA256 for the file that contains this segment.","format":"byte","type":"string"},"function_ref":{"description":"Function signature of the segment.","type":"string"},"has_summary":{"description":"Set by the server response to indicate this segment already has a\nusable function summary, so the client does not need to summarize it.","readOnly":true,"type":"boolean"},"language":{"$ref":"#/components/schemas/v1Language"},"line_end":{"description":"The last line of the segment.","format":"int32","type":"integer"},"line_start":{"description":"The first line of the segment.","format":"int32","type":"integer"},"metadata":{"$ref":"#/components/schemas/v1SegmentMetadata"},"package_version":{"description":"Canonical representation of the version of the package\nfollowing all our conventions about package URLs.\nFor example, \"c://github.com/my/repo@v1.2.3\".","type":"string"},"path":{"description":"Relative path of the file where this segment was found.","type":"string"},"rest":{"description":"Flag to indicate the segment is a REST segment.","type":"boolean"},"sha":{"description":"Commit sha of the segment.","type":"string"},"source_uri":{"description":"Source of this segment.","type":"string"}},"type":"object"},"v1SegmentContentKind":{"default":"SEGMENT_CONTENT_KIND_UNSPECIFIED","description":"SegmentContentKind is the kind of the segment.","enum":["SEGMENT_CONTENT_KIND_UNSPECIFIED","SEGMENT_CONTENT_KIND_FUNCTION","SEGMENT_CONTENT_KIND_TYPE","SEGMENT_CONTENT_KIND_LICENSE"],"type":"string"},"v1SegmentIndexRequest":{"description":"A segment index request allows the caller to provide a set of code\nsegments with their associated metadata that should be indexed as part the\nembeddings store. Embeddings are only created. They are only read through the\nSegmentQueryRequest. The request can include multiple segments to allow\nparallel execution.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentIndexRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the segment index request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SegmentIndexRequestSpec":{"properties":{"function_summary_prompt_version":{"description":"Prompt schema version the server currently requires for function\nsummaries.","format":"int32","readOnly":true,"type":"integer"},"generate_embeddings":{"description":"Whether the client wants embedding vectors computed for the segments\nin this request. Defaults to true when unset, so a client sent before\nthis field existed keeps its current embedding behavior; only an\nexplicit false skips embedding generation.","type":"boolean"},"project_uuid":{"description":"Project UUID.","type":"string"},"ref":{"description":"Resolved ref of the source control version.","type":"string"},"segmentation_done":{"description":"Set to true for the last index request for the source control version.","type":"boolean"},"segmentation_starting":{"description":"Set to true for the first index request for the source control version.","type":"boolean"},"segmenter_version":{"format":"int32","title":"Segmenter version","type":"integer"},"segments":{"description":"List of segments to index.","items":{"$ref":"#/components/schemas/v1Segment"},"type":"array"},"sha":{"description":"SHA of the source control version.","type":"string"},"summaries":{"description":"Function summaries the client computed for segments in this request\nthat the server reported as missing one (see Segment.has_summary).","items":{"$ref":"#/components/schemas/SegmentIndexRequestFunctionSummaryReport"},"type":"array"},"summary_done":{"description":"Set by the server response to indicate every function segment\nindexed for this source control version already has a usable\nsummary, so the client does not need to summarize any of them.","readOnly":true,"type":"boolean"}},"type":"object"},"v1SegmentMatchValidateRequest":{"properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentMatchValidateRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the segment match validate request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"title":"A segment match validate request","type":"object"},"v1SegmentMatchValidateRequestSpec":{"properties":{"file_locations":{"description":"These are the file paths that matched.","items":{"type":"string"},"type":"array"},"library":{"description":"The library name.","type":"string"},"project_uuid":{"description":"Project UUID.","type":"string"},"ref":{"description":"Resolved ref of the source control version.\nCan be a tag, a branch or a SHA.","type":"string"},"release_date":{"description":"The timestamp of the repo version.","format":"date-time","type":"string"},"required_match_percentage":{"description":"The required percentage of files that should match.","format":"float","type":"number"},"top_score":{"description":"The top score for the match.","format":"double","type":"number"},"valid":{"description":"Return value: true if the file locations meet the threshold for a sufficient match.","readOnly":true,"type":"boolean"},"version":{"description":"The version of the library.","type":"string"}},"type":"object"},"v1SegmentMetadata":{"properties":{"code_size":{"description":"Size of code for this segment.","format":"int64","type":"string"},"content_kind":{"$ref":"#/components/schemas/v1SegmentContentKind"},"embedding":{"$ref":"#/components/schemas/v1EmbeddingVector"},"signature":{"description":"Signature for this segment.","type":"string"}},"type":"object"},"v1SegmentQueryRequest":{"description":"A segment query request allows the caller to send a set of segments and find\nsimilarities based on the embeddings. Callers can send multiple segments in\none call. Caller provides the content and embeddings server responds with the\nbest file version matches.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SegmentQueryRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the segment query request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SegmentQueryRequestSpec":{"properties":{"project_uuid":{"description":"Project UUID.","type":"string"},"queries":{"description":"One query per file.\nEach query can contain metadata for multiple file segments.","items":{"$ref":"#/components/schemas/SegmentQueryRequestSegmentQuery"},"type":"array"},"ref":{"description":"Resolved ref of the source control version.\nCan be a tag, a branch or a SHA.","type":"string"}},"type":"object"},"v1SemgrepEndpoints":{"properties":{"web":{"$ref":"#/components/schemas/v1SemgrepWeb"}},"type":"object"},"v1SemgrepExposure":{"properties":{"exclude":{"items":{"type":"string"},"type":"array"},"include":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1SemgrepFixRegex":{"properties":{"count":{"format":"int32","type":"integer"},"regex":{"type":"string"},"replacement":{"type":"string"}},"type":"object"},"v1SemgrepManagement":{"properties":{"endpoints":{"$ref":"#/components/schemas/v1SemgrepEndpoints"}},"type":"object"},"v1SemgrepMetaAsvs":{"properties":{"control_id":{"type":"string"},"control_url":{"type":"string"},"section":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1SemgrepMetavariableAnalysis":{"properties":{"analyzer":{"type":"string"},"metavariable":{"type":"string"}},"type":"object"},"v1SemgrepMetavariableComparison":{"properties":{"base":{"type":"boolean"},"comparison":{"type":"string"},"metavariable":{"type":"string"},"strip":{"type":"boolean"}},"type":"object"},"v1SemgrepMetavariablePattern":{"properties":{"language":{"type":"string"},"metavariable":{"type":"string"},"pattern":{"type":"string"},"pattern_either":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_regex":{"type":"string"},"patterns":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"}},"type":"object"},"v1SemgrepMetavariableRegex":{"properties":{"metavariable":{"type":"string"},"regex":{"type":"string"},"x":{"type":"string"}},"type":"object"},"v1SemgrepMetavariableType":{"properties":{"metavariable":{"type":"string"},"type":{"type":"string"}},"type":"object"},"v1SemgrepNativeRule":{"description":"SemgrepNativeRule reflects the Semgrep rules as per the specification.","properties":{"fix":{"type":"string"},"fix_regex":{"$ref":"#/components/schemas/v1SemgrepFixRegex"},"focus_metavariable":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"message":{"type":"string"},"metadata":{"$ref":"#/components/schemas/v1SemgrepRuleMeta"},"metavariable_pattern":{"$ref":"#/components/schemas/v1SemgrepMetavariablePattern"},"metavariable_regex":{"$ref":"#/components/schemas/v1SemgrepMetavariableRegex"},"min_version":{"type":"string"},"mode":{"type":"string"},"options":{"$ref":"#/components/schemas/v1SemgrepOptions"},"paths":{"$ref":"#/components/schemas/v1SemgrepPaths"},"pattern":{"type":"string"},"pattern_either":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_inside":{"type":"string"},"pattern_inside_either":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_not":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_propagators":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_regex":{"type":"string"},"pattern_sanitizers":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_sinks":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_sources":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"patterns":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"references":{"items":{"type":"string"},"type":"array"},"severity":{"type":"string"}},"type":"object"},"v1SemgrepOptions":{"properties":{"constant_propagation":{"description":"Enables constant propagation analysis.","type":"boolean"},"generic_ellipsis_max_span":{"description":"Maximum span for generic ellipsis patterns.","format":"int32","type":"integer"},"generic_engine":{"description":"Specifies the generic engine to use for analysis.","type":"string"},"implicit_deep_exprstmt":{"description":"Enables implicit deep expression statement analysis.","type":"boolean"},"interfile":{"description":"Enables interfile analysis for cross-file taint tracking.","type":"boolean"},"symbolic_propagation":{"description":"Enables symbolic propagation analysis for taint tracking.","type":"boolean"},"taint_assume_safe_booleans":{"description":"Assumes boolean values are safe in taint analysis.","type":"boolean"},"taint_assume_safe_functions":{"description":"Assumes function calls are safe in taint analysis.","type":"boolean"},"taint_assume_safe_numbers":{"description":"Assumes numeric values are safe in taint analysis.","type":"boolean"},"taint_unify_mvars":{"description":"Enables unification of metavariables in taint analysis.","type":"boolean"}},"type":"object"},"v1SemgrepPaths":{"properties":{"exclude":{"items":{"type":"string"},"type":"array"},"include":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1SemgrepRule":{"properties":{"disabled":{"type":"boolean"},"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SemgrepRuleSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the Semgrep rule.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SemgrepRuleMeta":{"properties":{"ai_provider":{"type":"string"},"asvs":{"$ref":"#/components/schemas/v1SemgrepMetaAsvs"},"author":{"type":"string"},"bandit_code":{"type":"string"},"category":{"type":"string"},"confidence":{"type":"string"},"confidence_level":{"$ref":"#/components/schemas/endorv1ConfidenceLevel"},"cwe":{"items":{"type":"string"},"type":"array"},"cwe2020_top25":{"type":"boolean"},"cwe2021_top25":{"type":"boolean"},"cwe2022_top25":{"type":"boolean"},"cwe2023_top25":{"type":"boolean"},"deprecated":{"type":"boolean"},"description":{"description":"A description of the rule.","type":"string"},"display_name":{"type":"string"},"endor_attack_examples":{"description":"References to the description of an attack (if any) that used the\nrespective code.","items":{"type":"string"},"type":"array"},"endor_category":{"description":"Determines what a rule is used for (possible values: vulnerability,\nmalware-detection, critical-api, or llm).","type":"string"},"endor_rule_origin":{"$ref":"#/components/schemas/v1EndorRuleOrigin"},"endor_tags":{"description":"ENDOR_TAG_SEMGREP_IGNORE\n  ENDOR_TAG_ANALYTICS_INFO\n  ENDOR_TAG_ANALYTICS_IMPACT","items":{"type":"string"},"title":"Container for generic tags that control later processing of rule results.\nCertain ENDOR specific tags exist and are reserved for internal use, like:","type":"array"},"endor_targets":{"description":"Determines whether a rule is run against the repository and/or package\n(possible values: package, repository).","items":{"$ref":"#/components/schemas/v1EndorTarget"},"type":"array"},"explanation":{"type":"string"},"functional_categories":{"items":{"type":"string"},"type":"array"},"help":{"type":"string"},"impact":{"type":"string"},"interfile":{"type":"boolean"},"license":{"type":"string"},"likelihood":{"type":"string"},"masvs":{"items":{"type":"string"},"type":"array"},"owasp":{"items":{"type":"string"},"type":"array"},"owaspapi":{"type":"string"},"precision":{"type":"string"},"references":{"items":{"type":"string"},"type":"array"},"remediation":{"type":"string"},"resources":{"items":{"type":"string"},"type":"array"},"rule_origin_note":{"type":"string"},"security_severity":{"type":"string"},"severity":{"type":"string"},"short_description":{"type":"string"},"source_rule_url":{"type":"string"},"source_url_open":{"type":"string"},"subcategory":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"},"technology":{"items":{"type":"string"},"type":"array"},"version":{"description":"The semantic version of this rule.","type":"string"},"vulnerability":{"type":"string"},"vulnerability_class":{"items":{"type":"string"},"type":"array"}},"title":"Semgrep rule specifications","type":"object"},"v1SemgrepRulePatternType":{"properties":{"by_side_effect":{"type":"boolean"},"exact":{"type":"boolean"},"focus_metavariable":{"items":{"type":"string"},"type":"array"},"from":{"type":"string"},"label":{"type":"string"},"management":{"$ref":"#/components/schemas/v1SemgrepManagement"},"metavariable_analysis":{"$ref":"#/components/schemas/v1SemgrepMetavariableAnalysis"},"metavariable_comparison":{"$ref":"#/components/schemas/v1SemgrepMetavariableComparison"},"metavariable_pattern":{"$ref":"#/components/schemas/v1SemgrepMetavariablePattern"},"metavariable_regex":{"$ref":"#/components/schemas/v1SemgrepMetavariableRegex"},"metavariable_type":{"$ref":"#/components/schemas/v1SemgrepMetavariableType"},"not_conflicting":{"type":"boolean"},"pattern":{"type":"string"},"pattern_either_new":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_inside":{"type":"string"},"pattern_inside_either":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"pattern_not":{"type":"string"},"pattern_not_inside":{"type":"string"},"pattern_not_regex":{"type":"string"},"pattern_regex":{"type":"string"},"patterns":{"items":{"$ref":"#/components/schemas/v1SemgrepRulePatternType"},"type":"array"},"requires":{"type":"string"},"to":{"type":"string"}},"type":"object"},"v1SemgrepRuleSpec":{"properties":{"defined_by":{"description":"Endor Labs or the name of the tenant creating the rule.","readOnly":true,"type":"string"},"disabled":{"description":"Rule is disabled.","type":"boolean"},"rule":{"$ref":"#/components/schemas/v1SemgrepNativeRule"},"severity_level":{"$ref":"#/components/schemas/v1SemgrepRuleSpecSeverityLevel"},"yaml":{"description":"Yaml is the rule in its original yaml format.","type":"string"}},"type":"object"},"v1SemgrepRuleSpecSeverityLevel":{"default":"SEVERITY_LEVEL_UNSPECIFIED","description":"The severity level of the rule. This is computed using the values of the\nconfidence and the impact from the rule itself. If those values are not\ndefined, the severity level is set to LOW.","enum":["SEVERITY_LEVEL_UNSPECIFIED","SEVERITY_LEVEL_LOW","SEVERITY_LEVEL_MEDIUM","SEVERITY_LEVEL_HIGH","SEVERITY_LEVEL_CRITICAL"],"type":"string"},"v1SemgrepSummary":{"description":"Semgrep summary.","properties":{"ai_provider":{"type":"string"},"confidence":{"type":"string"},"cwes":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"explanation":{"type":"string"},"impact":{"type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"likelihood":{"type":"string"},"references":{"items":{"type":"string"},"type":"array"},"remediation":{"type":"string"},"rule_name":{"type":"string"},"rule_uuid":{"type":"string"},"rule_version":{"type":"string"},"severity":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1SemgrepTriggerPattern":{"description":"A pattern that triggered the vulnerability scan.","properties":{"pattern":{"$ref":"#/components/schemas/v1SemgrepMetavariablePattern"}},"type":"object"},"v1SemgrepWeb":{"properties":{"exposure":{"$ref":"#/components/schemas/v1SemgrepExposure"}},"type":"object"},"v1ServerType":{"default":"SERVER_TYPE_UNSPECIFIED","description":"ServerType indicates whether a tool server runs locally or remotely.","enum":["SERVER_TYPE_UNSPECIFIED","SERVER_TYPE_LOCAL","SERVER_TYPE_REMOTE"],"type":"string"},"v1ServiceRequest":{"description":"ServiceRequest defines a message for raising requests to perform resource updates\nneeded by the Endor Labs Sales/CS team.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ServiceRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a service request.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ServiceRequestSpec":{"properties":{"approvers":{"description":"The list of approver email IDs to which this service request\nnotifications will be sent.","items":{"type":"string"},"type":"array"},"data":{"$ref":"#/components/schemas/googleprotobufAny"},"description":{"description":"The reasoning behind this service request.","type":"string"},"error_message":{"description":"Error message when the request fails.","type":"string"},"method":{"$ref":"#/components/schemas/v1Method"},"resource":{"description":"The resource name on which the requested action needs to be performed.","type":"string"},"slack_message_ts":{"readOnly":true,"title":"Slack Message TimeStamp (\"ts\") of the notification, used to update the notification status","type":"string"},"status":{"$ref":"#/components/schemas/v1RequestStatus"},"target_namespace":{"description":"The resource namespace on which operations needs to be performed.","type":"string"}},"required":["description","resource","target_namespace","approvers","data","method"],"type":"object"},"v1ServiceToken":{"description":"ServiceToken represents a request for a service token.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1ServiceTokenSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the request.","readOnly":true,"type":"string"}},"required":["meta","tenant_meta"],"type":"object"},"v1ServiceTokenSpec":{"properties":{"audience":{"description":"The audience for the service token.","type":"string"},"expiration_time":{"description":"expiration_time for the token that should before the\nexpiration time of the authentication token.","format":"date-time","type":"string"},"service_token":{"description":"service_token is the token that is generated.","readOnly":true,"type":"string"}},"required":["audience"],"type":"object"},"v1SessionActivity":{"description":"SessionActivity matches sessions by posture predicates over SessionHook\nfields and the captured AgentConfigSnapshot. Sessions have no stable\nname, so matching uses field predicates instead of name regexes.\n\nEach sub-message is optional; if set, all its predicates are AND'd.\nSub-messages are also AND'd with each other. Predicates that target\nAgentConfigSnapshot evaluate across repository / user / enterprise\nlevels (any-level satisfies). MCP-server-related criteria intentionally\nlive on McpServerActivity, not here.","properties":{"hook":{"$ref":"#/components/schemas/v1SessionHookCriteria"},"model":{"$ref":"#/components/schemas/v1SessionModelCriteria"},"permissions":{"$ref":"#/components/schemas/v1SessionPermissionsCriteria"},"sandbox":{"$ref":"#/components/schemas/v1SessionSandboxCriteria"},"top_level":{"$ref":"#/components/schemas/v1SessionTopLevelCriteria"}},"type":"object"},"v1SessionHook":{"properties":{"ai_tool_inventory":{"$ref":"#/components/schemas/v1AiToolInventory"},"composer_mode":{"description":"Composer mode of the session.\n\n\"agent\", \"ask\", \"edit\"","type":"string"},"config":{"$ref":"#/components/schemas/v1AgentConfigSnapshot"},"is_background_agent":{"description":"Whether the session is a background agent.","type":"boolean"},"reason":{"description":"Reason for the session.\n\nFor SESSION_END: \"completed\", \"aborted\", \"error\"","type":"string"},"skills":{"description":"Skills discovered in the workspace during session start.","items":{"$ref":"#/components/schemas/v1DiscoveredSkill"},"type":"array"},"source":{"description":"Source of the session.\n\n\"startup\", \"resume\", \"clear\"","type":"string"}},"title":"Session lifecycle metadata (only populated for SESSION_START/END)","type":"object"},"v1SessionHookCriteria":{"description":"SessionHookCriteria matches against AgentHookConfig entries at any\nAgentConfigLevel. Each field is optional.","properties":{"command_matchers":{"description":"Regex matchers for hook command strings (e.g. \"curl .* \\\\| bash\").","items":{"type":"string"},"type":"array"},"event_name_matchers":{"description":"Regex matchers for hook event_name (e.g. \"PostToolUse\").","items":{"type":"string"},"type":"array"}},"type":"object"},"v1SessionMatch":{"description":"SessionMatch describes a session that matched a policy. Unlike SkillMatch\nor McpServerMatch, the source data (SessionHook + AgentConfigSnapshot)\nis already carried by the surrounding AgentHookEvent, so this match\nonly describes what fired.","properties":{"matched_criteria":{"description":"The criteria category that fired (mirrors a SessionActivity sub-message\nname, e.g. \"top_level\", \"sandbox\", \"permissions\", \"hook\", \"model\").","type":"string"},"matched_value":{"description":"The specific predicate value or pattern that matched\n(e.g. \"default_mode=bypassPermissions\", \"any-level sandbox.enabled=false\").","type":"string"},"message":{"description":"Free-form human-readable explanation of what fired.","type":"string"}},"type":"object"},"v1SessionModelCriteria":{"description":"SessionModelCriteria matches against default_model and available_models\nat any AgentConfigLevel. Each field is optional.","properties":{"available_model_matchers":{"description":"Regex matchers for entries in available_models.","items":{"type":"string"},"type":"array"},"default_model_matchers":{"description":"Regex matchers for default_model.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1SessionPermissionsCriteria":{"description":"SessionPermissionsCriteria matches against AgentPermissionsConfig at\nany AgentConfigLevel. Each field is optional.","properties":{"allowed_command_matchers":{"description":"Regex matchers for entries in permissions.allowed_commands.","items":{"type":"string"},"type":"array"},"bypass_disabled":{"description":"If set, match when permissions.bypass_disabled equals this value\n(e.g. false ⇒ \"bypass is allowed\").","type":"boolean"},"default_mode_matchers":{"description":"Regex matchers for permissions.default_mode (e.g. \"bypassPermissions\").","items":{"type":"string"},"type":"array"},"denied_command_matchers":{"description":"Regex matchers for entries in permissions.denied_commands.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1SessionSandboxCriteria":{"description":"SessionSandboxCriteria matches against AgentSandboxConfig at any\nAgentConfigLevel. Each field is optional.","properties":{"allowed_host_matchers":{"description":"Regex matchers for entries in sandbox.allowed_network_hosts (catches\noverly permissive host rules like \".*\").","items":{"type":"string"},"type":"array"},"enabled":{"description":"If set, match when sandbox.enabled equals this value at any level\n(e.g. false ⇒ \"sandbox is off or unset\").","type":"boolean"},"fail_if_unavailable":{"description":"If set, match when sandbox.fail_if_unavailable equals this value.","type":"boolean"}},"type":"object"},"v1SessionTopLevelCriteria":{"description":"SessionTopLevelCriteria matches against SessionHook top-level fields\n(composer_mode, source, is_background_agent) and the per-session\nuser identity carried on AgentHookEvent.Spec.user.","properties":{"composer_mode_matchers":{"description":"Regex matchers for composer_mode (e.g. \"agent\", \"ask\", \"edit\").","items":{"type":"string"},"type":"array"},"group_matchers":{"description":"Regex matchers against the resolved org groups in\nAgentHookEvent.Spec.identity.groups. A match fires when any group\nmatches any matcher (e.g. \"platform\", \"security\").","items":{"type":"string"},"type":"array"},"is_background_agent":{"description":"If set, match when is_background_agent equals this value.","type":"boolean"},"role_matchers":{"description":"Regex matchers against the resolved org roles in\nAgentHookEvent.Spec.identity.roles. A match fires when any role\nmatches any matcher (e.g. \"contractor\", \"admin\").","items":{"type":"string"},"type":"array"},"source_matchers":{"description":"Regex matchers for source (e.g. \"startup\", \"resume\", \"clear\").","items":{"type":"string"},"type":"array"},"user_name_matchers":{"description":"Regex matchers for the user name from AgentHookEvent.Spec.user\n(e.g. \"alice\", \"svc-.*\", \".*@example\\\\.com\").","items":{"type":"string"},"type":"array"}},"type":"object"},"v1Sibling":{"properties":{"rfilename":{"description":"The filename within a specific model.","type":"string"}},"type":"object"},"v1SimpleContainerImage":{"description":"SimpleContainerImage describes the structure of a basic container image signature payload, as defined at:\nhttps://github.com/containers/image/blob/main/docs/containers-signature.5.md#json-data-format.\n\nWe don't really need to use these definitions since they are only kept in our database and will\nnot be visible externally. However, if we ever decide to save our signatures as part of the OCI\ncontainer registries or even be asked to \"export\" our data for customers that perhaps want to\nmigrate to cosign or notary, then this will make this effort more seamless because it's the\nstandard format used.","properties":{"critical":{"$ref":"#/components/schemas/v1Critical"}},"type":"object"},"v1SkillActivity":{"description":"SkillActivity matches skills by name patterns and/or score thresholds.\nMatch logic: configured branches are AND'd — when both name_matchers\nand score predicates are set, both must hold for the match to fire;\nwhen only one is set, only that one must hold; if neither is set,\nthe activity never matches. Within the score branch, score_at_or_below\nand every set field of dimension_at_or_below are OR'd: any single\nsatisfied threshold fires the branch. When score predicates are set\nbut no SkillMeta is available for the skill, the score branch is\nconfigured-but-cannot-fire, failing the AND with the name branch\n(fail-safe).","properties":{"dimension_at_or_below":{"$ref":"#/components/schemas/v1SkillDimensionThresholds"},"name_matchers":{"description":"Regex matchers for skill name (e.g. \"untrusted-.*\", \"experimental-.*\").\nAND'd with the score-predicate branch when both are configured.","items":{"type":"string"},"type":"array"},"score_at_or_below":{"description":"Match when the overall score is at or below this threshold\n(scores are 1-10, higher = safer). OR'd with dimension_at_or_below.","format":"float","type":"number"}},"type":"object"},"v1SkillDimensionThresholds":{"description":"SkillDimensionThresholds holds per-dimension score thresholds for\nSkillActivity. Each field is optional; an unset dimension is ignored.\nSet dimensions are OR'd among themselves and with score_at_or_below:\nany single dimension at or below its threshold fires the predicate.\nDimension names mirror AgenticInventory.SkillScoreDimensions.","properties":{"data_protection":{"description":"Threshold for data protection (credential access, exfiltration).","format":"float","type":"number"},"external_dependencies":{"description":"Threshold for external dependencies (untrusted sources, remote code).","format":"float","type":"number"},"instruction_integrity":{"description":"Threshold for instruction integrity (prompt injection, boundary violations).","format":"float","type":"number"},"permission_boundaries":{"description":"Threshold for permission boundaries (privilege claims, tool misuse).","format":"float","type":"number"}},"type":"object"},"v1SkillMatch":{"description":"SkillMatch describes a skill that matched a policy. Carries only the\nmatched skill's name; consumers can fetch the full SkillMeta from\nAgenticInventory if more detail is needed.","properties":{"message":{"description":"Describes what exactly matched (e.g. \"score at or below threshold 5\",\n\"instruction_integrity at or below 4\").","type":"string"},"skill_name":{"description":"Name of the skill that matched.","type":"string"}},"type":"object"},"v1SlackConfig":{"properties":{"webhook_url":{"type":"string"}},"required":["webhook_url"],"type":"object"},"v1SlackTemplate":{"properties":{"open_action_template":{"description":"The template to be used for OPEN action for slack plugin.","type":"string"},"update_action_template":{"description":"The template to be used for UPDATE action for slack plugin.","type":"string"}},"type":"object"},"v1SourceLocation":{"properties":{"description":{"description":"Human-readable description of what happens at this dataflow step.","type":"string"},"end_column":{"format":"int32","title":"Ending column number in the file","type":"integer"},"end_line":{"format":"int32","title":"Ending line number in the file","type":"integer"},"function_name":{"description":"The name of the function for this location if available.","type":"string"},"relative_path":{"description":"The relative path to the file where the issue was found.","type":"string"},"scm_link":{"description":"Permalink to this location in the SCM (GitHub/GitLab/Azure/Bitbucket). Displayed in the UI.","type":"string"},"snippet":{"description":"Code snippet containing the issue.","type":"string"},"start_column":{"format":"int32","title":"Starting column number in the file","type":"integer"},"start_line":{"format":"int32","title":"Starting line number in the file","type":"integer"},"type":{"$ref":"#/components/schemas/v1LocationType"}},"type":"object"},"v1StringList":{"description":"Contains a list of string values.","properties":{"list_value":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1SupportAccessRequest":{"description":"Implements the API to grant access to support for a given namespace. It will\ncreate an authorization policy that allows access to the support team.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in the child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SupportAccessRequestSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1SupportAccessRequestSpec":{"properties":{"authorization_policy_uuid":{"description":"The uuid of the resource.","readOnly":true,"type":"string"},"expiration_time":{"description":"Expiration time of the support access.","format":"date-time","type":"string"}},"required":["expiration_time"],"type":"object"},"v1SupportedReportFormats":{"description":"SupportedReportFormats lists the export formats supported for one report job type.","properties":{"report_types":{"description":"report_type enum literals, e.g. \"REPORT_TYPE_PDF\", \"REPORT_TYPE_CSV\".","items":{"type":"string"},"type":"array"}},"type":"object"},"v1SupportedToolChainProfile":{"description":"SupportedToolChainProfile represents the list of tool chains that are maintained\nby Endor Labs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1SupportedToolChainProfileSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1SupportedToolChainProfileSpec":{"description":"Spec is the internal specification of the object.","properties":{"os":{"additionalProperties":{"$ref":"#/components/schemas/SpecArchitecture"},"type":"object"}},"type":"object"},"v1SupportedToolChainVersion":{"description":"SupportedToolChainVersion represents the versions that are maintained\nby Endor Labs.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SupportedToolChainVersionSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"UUID is a universally unique identifier for the tool chain profile.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1SupportedToolChainVersionSpec":{"description":"Spec is the internal specification of the object.","properties":{"arch":{"type":"string"},"default":{"description":"Indicates whether this toolchain version is the default to use.","type":"boolean"},"os":{"type":"string"},"toolchain":{"type":"string"},"version":{"$ref":"#/components/schemas/v1SupportedVersion"}},"required":["os","arch","toolchain","version"],"type":"object"},"v1SupportedVersion":{"properties":{"default":{"type":"boolean"},"disabled":{"type":"boolean"},"is_default":{"description":"Marks this version as the default to use for its containing toolchain set.","readOnly":true,"type":"boolean"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1SwiftSpec":{"description":"Represents a configuration for the Swift package manager.","properties":{"basic_auth":{"$ref":"#/components/schemas/v1SwiftSpecBasicAuth"},"priority":{"description":"The priority of the Swift package manager.\nPriorities are relative. If multiple package managers\nhave the same priority, the order between them can be random.\nLower number means higher priority.","format":"int32","type":"integer"},"scope":{"description":"The private registry scope.","type":"string"},"token":{"description":"Access token to authenticate to the registry.","type":"string"},"url":{"description":"The URL of the registry that the Swift package manager must use.","type":"string"}},"required":["priority"],"type":"object"},"v1SwiftSpecBasicAuth":{"properties":{"password":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1SwiftToolChain":{"properties":{"additional_swift_versions":{"items":{"type":"string"},"type":"array"},"version":{"$ref":"#/components/schemas/v1ToolChainVersion"}},"required":["version"],"type":"object"},"v1SystemConfig":{"description":"SystemConfig represents the system configuration for a tenant.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1SystemConfigSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the system configuration.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1SystemConfigSpec":{"properties":{"ai":{"$ref":"#/components/schemas/SystemConfigAiConfig"},"analytics":{"$ref":"#/components/schemas/SystemConfigAnalyticsConfig"},"artifactory":{"$ref":"#/components/schemas/SystemConfigArtifactoryConfig"},"cloud_deployment":{"$ref":"#/components/schemas/SystemConfigCloudDeploymentConfig"},"endor_ignore":{"$ref":"#/components/schemas/SystemConfigEndorIgnoreConfig"},"finding_prioritization":{"$ref":"#/components/schemas/v1PrioritizationConfig"},"logging":{"$ref":"#/components/schemas/SystemConfigLoggingConfig"},"package_firewall":{"$ref":"#/components/schemas/SystemConfigPackageFirewallConfig"},"policy":{"$ref":"#/components/schemas/SystemConfigPolicyConfig"},"sast":{"$ref":"#/components/schemas/SystemConfigSastConfig"},"urgent_notification":{"$ref":"#/components/schemas/SystemConfigUrgentNotificationConfig"}},"type":"object"},"v1SystemEvaluationMethodDefinition":{"default":"SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED","description":"SystemEvaluationMethodDefinition is the type of evaluation method implemented\nby the system.\n\n - SYSTEM_EVALUATION_METHOD_DEFINITION_VULNERABILITIES: VULNERABILITIES calculates vulnerability related findings.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_SCORES: SCORES calculates score related findings.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_CONDITIONS: CONDITIONS calculates findings related to specific conditions.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_POLICIES: POLICIES evaluates methods based on user defined policies.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_TYPOSQUATTING: TYPOSQUATTING calculates the findings related to typosquatted packages.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_CIS: CIS calculates the findings related to CIS benchmark requirements.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_MALWARE: MALWARE calculates the findings related to malware.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_SECURITY_REVIEW: SECURITY REVIEW calculates security review related findings.\n - SYSTEM_EVALUATION_METHOD_DEFINITION_AI_SAST: AI_SAST calculates AI SAST related findings.","enum":["SYSTEM_EVALUATION_METHOD_DEFINITION_UNSPECIFIED","SYSTEM_EVALUATION_METHOD_DEFINITION_VULNERABILITIES","SYSTEM_EVALUATION_METHOD_DEFINITION_SCORES","SYSTEM_EVALUATION_METHOD_DEFINITION_CONDITIONS","SYSTEM_EVALUATION_METHOD_DEFINITION_POLICIES","SYSTEM_EVALUATION_METHOD_DEFINITION_TYPOSQUATTING","SYSTEM_EVALUATION_METHOD_DEFINITION_CIS","SYSTEM_EVALUATION_METHOD_DEFINITION_MALWARE","SYSTEM_EVALUATION_METHOD_DEFINITION_SECURITY_REVIEW","SYSTEM_EVALUATION_METHOD_DEFINITION_AI_SAST"],"type":"string"},"v1SystemRole":{"default":"SYSTEM_ROLE_UNSPECIFIED","description":"Captures the default system roles for permissions.\n\n - SYSTEM_ROLE_ADMIN: ADMIN has read/write access to all objects in the tenant.\n - SYSTEM_ROLE_READ_ONLY: READ_ONLY only can read all data, but perform no updates.\n - SYSTEM_ROLE_POLICY_EDITOR: Policy editor has read access on all objects, and the ability to create and\nmanage policies.\n - SYSTEM_ROLE_CODE_SCANNER: CODE_SCANNER has all permissions to run a scan and view the results.\n - SYSTEM_ROLE_ENDOR_PATCHING: ENDOR_PATCHING has permissions to use Endor Lab's factory.\n - SYSTEM_ROLE_SYNC_ORG: SYNC_ORG has permissions to perform a sync-org scan on all supported\nplatforms (GitHub, Azure, GitLab etc).\n - SYSTEM_ROLE_ONPREM_SCHEDULER: ONPREM_SCHEDULER has permissions to perform sync-org, scans and manage\nonprem scheduler related objects.\n - SYSTEM_ROLE_ENDOR_PROXY: Deprecated: Use SYSTEM_ROLE_PACKAGE_FIREWALL instead.\nENDOR_PROXY has permissions to access proxy endpoints in endorfactory service.\n - SYSTEM_ROLE_PACKAGE_FIREWALL: PACKAGE_FIREWALL has permissions to access firewall endpoints for package firewall in endorfactory service.\n - SYSTEM_ROLE_AI_AUDIT: AI_AUDIT has least-privilege permissions to run ai-audit hooks (agent session events).","enum":["SYSTEM_ROLE_UNSPECIFIED","SYSTEM_ROLE_ADMIN","SYSTEM_ROLE_READ_ONLY","SYSTEM_ROLE_POLICY_EDITOR","SYSTEM_ROLE_CODE_SCANNER","SYSTEM_ROLE_ENDOR_PATCHING","SYSTEM_ROLE_SYNC_ORG","SYSTEM_ROLE_ONPREM_SCHEDULER","SYSTEM_ROLE_ENDOR_PROXY","SYSTEM_ROLE_PACKAGE_FIREWALL","SYSTEM_ROLE_AI_AUDIT"],"type":"string"},"v1TableHeader":{"description":"Contains information for the table.\nIt is repeated in each TableRowGroup even though it contains the same information.","properties":{"column_ids":{"additionalProperties":{"format":"int32","type":"integer"},"description":"A map from a column name to an ID. The IDs in the rows of the\ntable are used to avoid repeating the column name.","type":"object"},"column_types":{"additionalProperties":{"$ref":"#/components/schemas/v1ColumnTypes"},"description":"A map from a column ID to a type. This will be used to read the values of the columns in each row.","type":"object"},"columns":{"description":"The number of columns in the table.","format":"int32","type":"integer"},"description":{"description":"Information about the table.","type":"string"}},"required":["column_ids","column_types"],"type":"object"},"v1TableRow":{"description":"A table row contains a map with the values for each column.","properties":{"columns":{"additionalProperties":{"$ref":"#/components/schemas/v1ColumnValue"},"type":"object"}},"type":"object"},"v1TableRowGroup":{"description":"TableRowGroup in the main object that contains an ordered list of TableRows\nand TableDescription with general information about the table.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TableRowGroupSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the table row group.","readOnly":true,"type":"string"}},"required":["meta","spec","context"],"type":"object"},"v1TableRowGroupSpec":{"properties":{"header":{"$ref":"#/components/schemas/v1TableHeader"},"project_uuid":{"description":"The UUID of the project that to which the TableRowGroup is related.","type":"string"},"rows":{"description":"The rows in this group.","items":{"$ref":"#/components/schemas/v1TableRow"},"type":"array"},"sequence":{"description":"The sequence number indicates the order of this group among all the groups in the table.","format":"int32","type":"integer"}},"required":["sequence","header"],"type":"object"},"v1TagCounts":{"properties":{"counts":{"additionalProperties":{"format":"uint64","type":"string"},"description":"Overall activity count per tag.","type":"object"}},"type":"object"},"v1Target":{"properties":{"exclude":{"description":"Set to true if a dependency is excluded from the target.","type":"boolean"},"name":{"description":"Target name. Example: linux, dotnet, x86_64.","type":"string"},"type":{"$ref":"#/components/schemas/TargetTargetType"},"version":{"description":"Target version, for example, 6.0.0 for the dotnet framework\nversion 6.0.0. If there is no version specified for a target then that\nmeans that a dependency is applicable for all versions of that target.\nThis field is optional because few targets, such as CPU_ARCH,\ndo not have a version.","type":"string"}},"required":["type","name","exclude"],"type":"object"},"v1TaskStatus":{"default":"TASK_STATUS_UNSPECIFIED","description":"TaskStatus represents the lifecycle state of an analysis task.","enum":["TASK_STATUS_UNSPECIFIED","TASK_STATUS_PENDING","TASK_STATUS_RUNNING","TASK_STATUS_COMPLETED","TASK_STATUS_FAILED"],"type":"string"},"v1Telemetry":{"description":"Telemetry represents the Prometheus metrics obtained from endorctl processes.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TelemetrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1TelemetrySpec":{"properties":{"caller_prefix":{"description":"Identifies where the metrics come from.","type":"string"},"caller_version":{"description":"Version of the caller.","type":"string"},"execution_id":{"description":"The UUID for the endorctl run.","type":"string"},"metric_families":{"description":"An array of metric families sent to the server.","items":{"$ref":"#/components/schemas/clientMetricFamily"},"type":"array"}},"required":["caller_prefix"],"type":"object"},"v1TemplateParamName":{"default":"TEMPLATE_PARAM_NAME_UNSPECIFIED","description":"TemplateParamName is the name of the template param used in secret validation profiles.\n\n - TEMPLATE_PARAM_NAME_CLIENT_ID: \"ClientID\" is the template parameter name for client ID.\n - TEMPLATE_PARAM_NAME_TENANT_ID: \"TenantID\" is the template parameter name for tenant ID.","enum":["TEMPLATE_PARAM_NAME_UNSPECIFIED","TEMPLATE_PARAM_NAME_CLIENT_ID","TEMPLATE_PARAM_NAME_TENANT_ID"],"type":"string"},"v1Tenant":{"description":"Tenant represents a tenant in the system.\n\nMostly includes tenant configuration parameters.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1TenantSpec"},"uuid":{"description":"The UUID of a tenant.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1TenantMeta":{"description":"Tenant related data for the tenant containing the resource.","properties":{"namespace":{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","type":"string"}},"required":["namespace"],"type":"object"},"v1TenantSpec":{"properties":{"city":{"description":"The city of a users address.","type":"string"},"code":{"description":"A user's area code.","type":"string"},"country":{"description":"A user's country of residence.","type":"string"},"organization_urls":{"description":"The list of URLs which are associated with the given organization which can be included in the supplier SBOM information.","items":{"type":"string"},"type":"array"},"organizational_contacts":{"description":"The list of contact that we can put as the contact in the SBOM export supplier information.","items":{"$ref":"#/components/schemas/v1TenantSpecOrganizationalContact"},"type":"array"},"organizational_entity_name":{"title":"The human-readable name of the organization. Will be used as supplier for the SBOM.\nAlthough this is not a required field this will be validated when trying to export an SBOM.bool","type":"string"},"phone_number":{"description":"A user's phone number.","type":"string"},"placement_zone":{"description":"The placement zone for internal tenant routing and sharding.","readOnly":true,"type":"string"},"state":{"description":"The state of a users address.","type":"string"},"street":{"description":"The street address of a user.","type":"string"}},"type":"object"},"v1TenantSpecOrganizationalContact":{"properties":{"email":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"}},"required":["name"],"type":"object"},"v1TimeResolution":{"default":"TIME_RESOLUTION_UNSPECIFIED","description":"Describes the resolution used.","enum":["TIME_RESOLUTION_UNSPECIFIED","TIME_RESOLUTION_DAY","TIME_RESOLUTION_MONTH","TIME_RESOLUTION_YEAR"],"type":"string"},"v1TimeSlot":{"description":"Structure that contains activity information for a given slot of time.\nEach slot could  capture activity for one day, month or year, depending on the resolution used.","properties":{"count":{"description":"The count of activity in the slot.","format":"uint64","type":"string"},"tag_activity":{"additionalProperties":{"format":"uint64","type":"string"},"description":"The breakdown of activity per tag. When we track an activity,\nit can be associated with a user specified tag (for example, \"Open\" for a PR).\nSo here we get the per-tag breakdown.","type":"object"},"timestamp":{"description":"Timestamp of the slot. The resolution of this timestamp\ndepends on the time resolution we are tracking, so for\ndaily resolution will be the 12:00am of the day.","format":"date-time","type":"string"}},"type":"object"},"v1TimeTracker":{"description":"Tge sequence of TimeSlots for each time resolution we track.\nWe can track multiple resolutions, and some resolutions may be empty.","properties":{"daily_activity":{"items":{"$ref":"#/components/schemas/v1TimeSlot"},"type":"array"},"monthly_activity":{"items":{"$ref":"#/components/schemas/v1TimeSlot"},"type":"array"},"resolutions":{"items":{"$ref":"#/components/schemas/v1TimeResolution"},"type":"array"},"yearly_activity":{"items":{"$ref":"#/components/schemas/v1TimeSlot"},"type":"array"}},"type":"object"},"v1TokenAuth":{"description":"TokenAuth is a single opaque token credential. Its wire encoding is\necosystem-specific (see per-spec doc comments): a literal Authorization:\nBearer header where the tooling supports it (Maven), otherwise the HTTP\nBasic password. Named TokenAuth (not BearerAuth) precisely because it is\nnot a bearer header on every ecosystem.","properties":{"token":{"description":"The opaque token credential; see the message doc for per-ecosystem wire encoding.","type":"string"}},"type":"object"},"v1ToolChainProfile":{"description":"ToolChainProfile represents the list of tool chains that need to be\ninstalled.","properties":{"os":{"additionalProperties":{"$ref":"#/components/schemas/ToolChainProfileArchitectureToolChain"},"type":"object"}},"type":"object"},"v1ToolChainVersion":{"description":"ToolChainVersion defines the tool chain's source from where it can be installed.","properties":{"name":{"description":"name of the tool chain.","type":"string"},"relative_tool_chain_path":{"description":"relative path of the tool chain in tar ball.","type":"string"},"sha256_sum":{"description":"SHA256 Digest of the tool that will be downloaded.","type":"string"},"urls":{"description":"http mirros from where the tool can be downloaded.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1ToolChains":{"properties":{"android_tool_chain":{"$ref":"#/components/schemas/v1AndroidToolChain"},"dotnet_tool_chain":{"$ref":"#/components/schemas/v1DotNetToolChain"},"environment_variables":{"description":"environment_variables are the env variables to be set during toolchain installation.","items":{"type":"string"},"type":"array"},"golang_tool_chain":{"$ref":"#/components/schemas/v1GolangToolChain"},"java_tool_chain":{"$ref":"#/components/schemas/v1JavaToolChain"},"javascript_tool_chain":{"$ref":"#/components/schemas/v1JavaScriptToolChain"},"php_tool_chain":{"$ref":"#/components/schemas/v1PHPToolChain"},"python_tool_chain":{"$ref":"#/components/schemas/v1PythonToolChain"},"ruby_tool_chain":{"$ref":"#/components/schemas/v1RubyToolChain"},"rust_tool_chain":{"$ref":"#/components/schemas/v1RustToolChain"},"scala_tool_chain":{"$ref":"#/components/schemas/v1ScalaToolChain"},"swift_tool_chain":{"$ref":"#/components/schemas/v1SwiftToolChain"}},"type":"object"},"v1ToolChainsSource":{"default":"TOOL_CHAINS_SOURCE_UNSPECIFIED","description":"Toolchain source types.","enum":["TOOL_CHAINS_SOURCE_UNSPECIFIED","TOOL_CHAINS_SOURCE_API","TOOL_CHAINS_SOURCE_FILE","TOOL_CHAINS_SOURCE_AUTO_DETECTION","TOOL_CHAINS_SOURCE_DEFAULTS","TOOL_CHAINS_SOURCE_NAMESPACE_DEFAULT"],"type":"string"},"v1ToolPattern":{"description":"ToolPattern represents the search pattern data for one tool.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Indicates that the object should be visible in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1ToolPatternSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the tool pattern.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1ToolPatternSpec":{"description":"The internal specification of the object.","properties":{"app_patterns":{"description":"List of GitHub application patterns.","items":{"$ref":"#/components/schemas/SpecAppPatterns"},"type":"array"},"badge_patterns":{"description":"List of badge URL patterns.\nExample: codecov.io.","items":{"type":"string"},"type":"array"},"categories":{"description":"List of control function categories (based on static name to category mapping).\nExamples: Build, CI/CD Pipeline, Code Coverage, Container Orchestration, Container Registry, Dependency Mgmt, Documentation, IaC, License Mgmt, Linters, Monitoring, Package Mgmt, Publishers, SBOM, SCA, Secrets, Security, Signing and Verification, Testing, VMs, Vulnerability Mgmt.","items":{"type":"string"},"type":"array"},"cmd_patterns":{"description":"List of search patterns that are applied to the content of all CI/CD pipeline definition files.\nExample: \"endorctl scan\" identifies Endor Labs usage inside tool configuration files that contain shell commands.","items":{"$ref":"#/components/schemas/SpecCmdPatterns"},"type":"array"},"display_name":{"description":"Display name if different from tool name.\nExample: \"GitHub Actions\" might be the display name for \"ghactions\".","type":"string"},"file_patterns":{"description":"List of search patterns that are applied file/path names (filename_patterns) and, if present, their content (line_patterns).\nExamples:\nA file name match for \"Dockerfile$\" identifies Docker.\nA match for line_pattern \"\\[tool\\.black\\]\" inside a file with a filename_pattern match for \"pyproject.toml$\" idenfies Python Black.","items":{"$ref":"#/components/schemas/SpecFilePatterns"},"type":"array"},"refs":{"description":"List of references.","items":{"type":"string"},"type":"array"},"tool_patterns":{"additionalProperties":{"$ref":"#/components/schemas/SpecCmdPatterns"},"description":"Map of search patterns that are applied to the content of specific tool definition files, indexed by tool name.\nExample: \".*uses: sonarsource/sonarcloud-github-action@.*\" identifies sonarcloud inside a GitHub Actions file, so it is listed under \"ghactions\" here.\nThe index string must match the name of the other tool in order for the infrastructure to cross-reference them.","type":"object"},"webhook_patterns":{"description":"List of search patterns that are applied to webhook payload URLs.\nExample: https://coveralls.io/webhook.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1TypeChange":{"description":"Protobuf definition for TypeChange.","properties":{"declared_type":{"type":"string"},"diff_change":{"$ref":"#/components/schemas/v1ChangeType"},"id":{"type":"string"},"modifier_change":{"$ref":"#/components/schemas/v1ModifierChangeType"},"package_name":{"type":"string"}},"type":"object"},"v1UISavedView":{"description":"UISavedView persists a view configuration (query values + display\npreferences) over an Endor resource.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Propagate controls the visibility of the saved view in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1UISavedViewSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the saved view.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","spec"],"type":"object"},"v1UISavedViewScope":{"default":"SCOPE_UNSPECIFIED","description":"Who owns / can see the view. Determines lookup precedence and sharing.\n\n - SCOPE_UNSPECIFIED: No scope has been set.\n - SCOPE_PERSONAL: Visible only to the user who created the view.\n - SCOPE_NAMESPACE: Shared with everyone in the owning namespace.","enum":["SCOPE_UNSPECIFIED","SCOPE_PERSONAL","SCOPE_NAMESPACE"],"type":"string"},"v1UISavedViewSpec":{"description":"Spec captures the saved view's configuration.","properties":{"display":{"description":"Free-form display configuration (column order, widths, sort, grouping,\netc.). Shape is owned by the frontend and versioned via display_version.","type":"object"},"display_version":{"description":"Schema version of the display payload. Allows the frontend to migrate\nolder display blobs when the shape evolves.","format":"int32","type":"integer"},"owner_claims":{"items":{"type":"string"},"readOnly":true,"title":"Subject claims of the user who created this view. Populated by the\nserver at create time and immutable thereafter. Used for SCOPE_PERSONAL\nvisibility filtering. Empty for other types","type":"array"},"query":{"$ref":"#/components/schemas/QueryQuerySpec"},"scope":{"$ref":"#/components/schemas/v1UISavedViewScope"},"surface":{"description":"Surface identifier that scopes the view to a specific UI area, e.g.\n\"findings.table\" or \"packages.inventory\". Lowercase, dot-separated\nsegments of [a-z0-9_].","type":"string"},"view_type":{"$ref":"#/components/schemas/UISavedViewViewType"}},"required":["scope","surface","view_type","query"],"type":"object"},"v1UITelemetry":{"description":"UITelemetry represents events observered from the Endor UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UITelemetrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the UI telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1UITelemetrySpec":{"properties":{"device_screen_info":{"$ref":"#/components/schemas/SpecDeviceScreenInfo"},"device_user_agent":{"$ref":"#/components/schemas/SpecDeviceUserAgent"},"events":{"description":"A batched list of events observed from the UI.","items":{"$ref":"#/components/schemas/SpecUITelemetryEvent"},"type":"array"},"session_id":{"description":"The user session to which these events belong.","type":"string"},"user_id":{"description":"The user to which these events belong.","type":"string"}},"required":["user_id","session_id","events"],"type":"object"},"v1UnsupportedSpec":{"description":"A project with a source code type that is not supported or not known.","properties":{"name":{"description":"Name of the unsupported project, which can be an unsupported clone URL or\na package name.","type":"string"}},"required":["name"],"type":"object"},"v1UpdateRequest":{"description":"Message used for all update requests.","properties":{"force":{"description":"Force will force the update of the resource if any\nchecks fail.","type":"boolean"},"update_mask":{"description":"Fields to update. Defaults to all fields.","type":"string"}},"type":"object"},"v1UpdateTenantRequest":{"description":"Request to update a tenant.","properties":{"object":{"$ref":"#/components/schemas/v1Tenant"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"type":"object"},"v1UpdateUserRequest":{"description":"Request to update a user.","properties":{"object":{"$ref":"#/components/schemas/v1User"},"request":{"$ref":"#/components/schemas/v1UpdateRequest"}},"type":"object"},"v1User":{"description":"User represents a user in the system.\n\nMostly includes configuration parameters that are user wise.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UserSpec"},"uuid":{"description":"The UUID of a user.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1UserInfoResponse":{"description":"UserInfoResponse returns information about a user and their authentication token.","properties":{"authentication_source":{"readOnly":true,"type":"string"},"expiration_time":{"format":"date-time","readOnly":true,"type":"string"},"namespaces":{"items":{"type":"string"},"readOnly":true,"type":"array"},"permissions":{"$ref":"#/components/schemas/v1Permissions"},"tenants":{"items":{"$ref":"#/components/schemas/UserInfoResponseTenantInfo"},"readOnly":true,"type":"array"},"user":{"$ref":"#/components/schemas/v1User"}},"type":"object"},"v1UserSpec":{"properties":{"email":{"description":"Email of the user. It can be changed.","type":"string"},"event_tracking":{"additionalProperties":{"$ref":"#/components/schemas/v1Events"},"description":"Lists of user events indexed by event type.","type":"object"},"first_name":{"description":"First name of the user as identified. It can be changed.","type":"string"},"groups":{"description":"Groups that the user is a member of, as identified by the\nclaims returned by the identity provider.","items":{"type":"string"},"type":"array"},"last_login_time":{"description":"Last login time keeps a record of the last time\nthat the user logged in.","format":"date-time","readOnly":true,"type":"string"},"last_name":{"description":"Last name of the user. It can be changed.","type":"string"},"token_hash":{"description":"The hash of the last token issued to the user.\nDuring authentication we make sure that this hash matches\nthe token provided.","type":"string"},"user_name":{"readOnly":true,"title":"Username of a user.\nUsernames are automatically derived from the token.\nDepending on the identity source it can be the\nnickname (GitHub) or email (Google and others)","type":"string"}},"type":"object"},"v1UserTelemetry":{"description":"UserTelemetry represents user-specific events observered from the Endor Labs UI.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1UserTelemetrySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the user telemetry.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1UserTelemetrySpec":{"properties":{"event_store":{"additionalProperties":{"$ref":"#/components/schemas/SpecUserTelemetryEvent"},"description":"Lists of user events indexed by event type.","type":"object"},"session_id":{"description":"The user session to which these events belong.","type":"string"},"user_id":{"description":"The user to which these events belong.","type":"string"}},"required":["user_id","session_id"],"type":"object"},"v1VEXExportJobRequest":{"description":"Request holds the input parameters for running a VEX export job.","properties":{"component_type":{"$ref":"#/components/schemas/v1ExportedVEXComponentType"},"cyclonedx_spec_version":{"$ref":"#/components/schemas/v1CycloneDxSpecVersion"},"export_parameters":{"$ref":"#/components/schemas/v1ExportParameters"},"format":{"$ref":"#/components/schemas/v1ExportedVEXFormat"},"include_test_dependencies":{"description":"Whether to include findings against test/dev/build/optional dependencies.\nWhen false (default), findings whose target dependency is non-production —\nor only reachable from the root through non-production paths — are excluded.","type":"boolean"},"kind":{"$ref":"#/components/schemas/v1SBOMKind"},"package_version_uuid":{"description":"UUID of a single PackageVersion to export. When set, the handler generates\na VEX containing just this package version's findings. Mutually exclusive\nwith export_parameters.","type":"string"}},"required":["component_type"],"type":"object"},"v1VEXExportJobResponse":{"description":"Response holds the output after the VEX export job completes.","properties":{"file_path":{"description":"The file path of the generated VEX document in object storage.\nStored on the Job by the handler; the apiserver Job RPC layer reads this\non every GetJob and produces a fresh signed download URL.","type":"string"},"report_url":{"description":"The signed download URL for the generated VEX document. Populated by the\napiserver Job RPC layer on each GetJob call (5-minute TTL).","type":"string"},"resource_namespace":{"description":"Namespace jobctl read the referenced resources from — the caller's\ntenant, or \"oss\" if the fallback fired.","type":"string"},"vex_size_bytes":{"description":"Byte length of the generated VEX artifact in object storage. Useful for\nclients deciding whether to show a download progress indicator and for\noperational reporting on export sizes.","format":"uint64","type":"string"}},"type":"object"},"v1ValidateAPIKeyReq":{"description":"Validates an API key.","properties":{"issuing_user":{"$ref":"#/components/schemas/v1User"},"key":{"description":"The unique identifier of the API key.","type":"string"},"secret":{"description":"The secret associated with the provided API Key.","type":"string"},"valid":{"description":"Valid returns if the API key and secret pair are valid.","readOnly":true,"type":"boolean"}},"required":["key","secret"],"type":"object"},"v1ValidationStatus":{"default":"VALIDATION_STATUS_UNSPECIFIED","description":"Status of secret validation.\n\n - VALIDATION_STATUS_UNSPECIFIED: No validator.\n - VALIDATION_STATUS_FAILURE: Failed to validate secret.\n - VALIDATION_STATUS_SECRET_IS_VALID: Secret is valid.\n - VALIDATION_STATUS_SECRET_IS_INVALID: Secret is invalid","enum":["VALIDATION_STATUS_UNSPECIFIED","VALIDATION_STATUS_FAILURE","VALIDATION_STATUS_SECRET_IS_VALID","VALIDATION_STATUS_SECRET_IS_INVALID"],"type":"string"},"v1VantaConfig":{"properties":{"access_token_auth":{"$ref":"#/components/schemas/VantaConfigVantaAccessTokenAuth"},"api_key":{"type":"string"},"auth_method":{"$ref":"#/components/schemas/VantaConfigVantaAuthMethod"},"package_vulnerability_resource_id":{"description":"The Resource ID of the package vulnerability created in Vanta.","type":"string"},"sca_resource_id":{"description":"The Resource ID of the static code analysis vulnerabilities created in Vanta.","type":"string"},"vulnerable_component_resource_id":{"description":"The Resource ID of the vulnerable component created in Vanta.","type":"string"}},"required":["auth_method","vulnerable_component_resource_id"],"type":"object"},"v1VectorStore":{"description":"Represents a vector store in the system. The vector store will create all\nthe infrastructure for semantic searches.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"propagate":{"description":"Vector stores can be propagated and accessed in child namespaces.","type":"boolean"},"spec":{"$ref":"#/components/schemas/v1VectorStoreSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of an VectorStore.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1VectorStoreData":{"description":"VectorStoreData is the message for uploading data to the vector store.\nIt allows batch uploads.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreDataDeleteQuery":{"description":"VectorStoreDataDeleteQuery deletes documents matching filter whose uniqueness\nfield values are NOT in the provided retain set. This is a generic \"prune\" operation\nuseful for incremental index refresh.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataDeleteQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreDataDeleteQuerySpec":{"description":"Spec is the specification of the delete request.","properties":{"request":{"$ref":"#/components/schemas/v1VectorStoreDataDeleteQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1VectorStoreDataDeleteQuerySpecResponse"}},"required":["request"],"type":"object"},"v1VectorStoreDataDeleteQuerySpecRequest":{"description":"Request contains the input parameters for the delete operation.","properties":{"filter":{"description":"filter scopes the deletion to documents matching this filter.\ne.g., {\"repo\": \"/path/to/repo\"} to only affect documents from a specific repo.","type":"object"},"keep_filters":{"description":"keep_filters contains the filters to keep.\nEach entry is a Struct with field values matching the vector store's fields.\ne.g., {\"fqn\": \"com.example.Foo.bar\", \"repo\": \"/path/to/repo\"} to keep documents from a specific repo and fqn.","items":{"type":"object"},"type":"array"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store to delete data from.","type":"string"}},"required":["vector_store_uuid","filter","keep_filters"],"type":"object"},"v1VectorStoreDataDeleteQuerySpecResponse":{"description":"Response contains the output from the delete operation.","properties":{"deleted_count":{"description":"deleted_count is the number of documents that were deleted.","format":"int64","type":"string"}},"type":"object"},"v1VectorStoreDataDocumentConsistencyQuery":{"description":"VectorStoreDataDocumentConsistencyQuery checks which documents need to be updated in a vector store.\nThis is a lightweight check that only requires uniqueness fields and content hash,\navoiding the need to send full document content over the wire.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataDocumentConsistencyQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreDataDocumentConsistencyQuerySpec":{"description":"Spec is the specification of the needs update query.","properties":{"request":{"$ref":"#/components/schemas/v1VectorStoreDataDocumentConsistencyQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1VectorStoreDataDocumentConsistencyQuerySpecResponse"}},"required":["request"],"type":"object"},"v1VectorStoreDataDocumentConsistencyQuerySpecRequest":{"description":"Request contains the input parameters for the needs update check.","properties":{"documents":{"description":"documents contains the lightweight document check requests.","items":{"$ref":"#/components/schemas/SpecDocumentConsistency"},"type":"array"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store to check against.","type":"string"}},"required":["vector_store_uuid"],"type":"object"},"v1VectorStoreDataDocumentConsistencyQuerySpecResponse":{"description":"Response contains the results of the entry match check.","properties":{"results":{"description":"results contains the consistency results, in the same order as the request documents.","items":{"$ref":"#/components/schemas/ResponseEntryMatchResult"},"type":"array"}},"type":"object"},"v1VectorStoreDataMetadataUpdateQuery":{"description":"VectorStoreDataMetadataUpdateQuery patches the metadata of stored documents\nwithout touching their content or embeddings.\n\nRe-uploading a document cannot do this: the upload path skips any document\nwhose uniqueness key and content hash already match what is stored, so a\nmetadata-only change is silently dropped. Deleting and re-adding would work\nbut re-embeds every document and leaves a window where the document is\nmissing, which for summary stores means an interrupted run re-pays the LLM\nthat produced it. This applies the patch in place instead.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreDataMetadataUpdateQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreDataMetadataUpdateQuerySpec":{"description":"Spec is the specification of the metadata update request.","properties":{"request":{"$ref":"#/components/schemas/v1VectorStoreDataMetadataUpdateQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1VectorStoreDataMetadataUpdateQuerySpecResponse"}},"required":["request"],"type":"object"},"v1VectorStoreDataMetadataUpdateQuerySpecRequest":{"description":"Request contains the input parameters for the metadata update operation.","properties":{"filter":{"description":"filter selects the documents to patch, e.g.\n{\"repo\": \"/path/to/repo\", \"file_path\": \"src/a.go\"}.\nRequired and must be non-empty: an empty filter would rewrite every\ndocument in the store.","type":"object"},"metadata":{"description":"metadata holds the keys to set on each matching document. Keys absent\nfrom this struct are left as they are, so this is a patch rather than a\nreplacement, and re-running the same request is a no-op.","type":"object"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store holding the documents.","type":"string"}},"required":["vector_store_uuid","filter","metadata"],"type":"object"},"v1VectorStoreDataMetadataUpdateQuerySpecResponse":{"description":"Response contains the output from the metadata update operation.","properties":{"updated_count":{"description":"updated_count is the number of documents that were patched.","format":"int64","type":"string"}},"type":"object"},"v1VectorStoreDataSpec":{"properties":{"documents":{"description":"data is the data to upload to the vector store.","items":{"$ref":"#/components/schemas/v1VectorStoreDocument"},"type":"array"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store to upload data.","type":"string"}},"required":["vector_store_uuid"],"type":"object"},"v1VectorStoreDocument":{"description":"VectorStoreDocument is the standard format of documents in the vector store.","properties":{"content_hash":{"description":"content_hash is the SHA256 hash of the document content.","type":"string"},"data":{"description":"data is the data to upload to the vector store.","type":"string"},"metadata":{"description":"metadata is the metadata of the document.","type":"object"},"save_content":{"description":"save_content controls whether document content is saved to the store.","type":"boolean"},"score":{"description":"score is the score of the document.","format":"float","readOnly":true,"type":"number"}},"required":["data"],"type":"object"},"v1VectorStoreMetadataQuery":{"description":"VectorStoreMetadataQuery is the message to query the vector store by metadata.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreMetadataQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreMetadataQuerySpec":{"description":"Spec is the specification of the metadata query request.","properties":{"request":{"$ref":"#/components/schemas/v1VectorStoreMetadataQuerySpecRequest"},"response":{"$ref":"#/components/schemas/v1VectorStoreMetadataQuerySpecResponse"}},"required":["request"],"type":"object"},"v1VectorStoreMetadataQuerySpecRequest":{"description":"Request contains the input parameters for the metadata query operation.","properties":{"filter":{"description":"filter is the metadata filter to search for matching documents.","type":"object"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store to query.","type":"string"}},"required":["vector_store_uuid","filter"],"type":"object"},"v1VectorStoreMetadataQuerySpecResponse":{"description":"Response contains the output from the metadata query operation.","properties":{"matches":{"description":"matches contains the documents matching the metadata filter.","items":{"$ref":"#/components/schemas/v1VectorStoreDocument"},"type":"array"}},"type":"object"},"v1VectorStoreQuery":{"description":"VectorStoreQuery is the message to query the vector store.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VectorStoreQuerySpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"readOnly":true,"type":"string"}},"required":["spec"],"type":"object"},"v1VectorStoreQuerySpec":{"properties":{"matches":{"description":"data is the data to upload to the vector store.","items":{"$ref":"#/components/schemas/v1VectorStoreDocument"},"readOnly":true,"type":"array"},"metadata_filter":{"title":"metadata_filter is an optional filter to scope the similarity search to documents","type":"object"},"query":{"description":"query is the actual query string.","type":"string"},"vector_store_uuid":{"description":"vector_store_uuid is the ID of the vector store to upload data.","type":"string"}},"required":["vector_store_uuid","query"],"type":"object"},"v1VectorStoreSpec":{"properties":{"apply_uniqueness_index_changes":{"description":"apply_uniqueness_index_changes explicitly authorizes migrating uniqueness indexes\nwhen the requested uniqueness_fields differ from the currently provisioned index.\nThis must be true any time changes are made to the uniqueness_fields.","type":"boolean"},"dimensions":{"description":"Dimensions is the number of dimensions to be used.","format":"int32","type":"integer"},"embedding_model":{"$ref":"#/components/schemas/v1EmbeddingModel"},"embedding_provider":{"$ref":"#/components/schemas/v1EmbeddingProvider"},"search_index_fields":{"description":"search_index_fields lists metadata fields that queries filter on beyond the\nuniqueness fields. A non-unique index is ensured on each field when the store\nis created or next opened, so equality filters on it can avoid a full scan.\nThe declared set is authoritative: adding a field creates its index and\nremoving a field drops it, both on the next open.","type":"string"},"uniqueness_fields":{"description":"uniqueness_fields specifies which metadata fields are used for document uniqueness.\nWhen provided, a unique index is created on these fields at store creation time.\nAll add/update/delete operations must include these fields in document metadata.","type":"string"}},"required":["embedding_provider","embedding_model"],"type":"object"},"v1VendorVexStatement":{"description":"VendorVexStatement records the vulnerabilities a third-party vendor has already\nfixed in one exact rebuilt package version.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VendorVexStatementSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the statement.","readOnly":true,"type":"string"}},"required":["meta","spec"],"type":"object"},"v1VendorVexStatementSpec":{"description":"Spec is the specification of a vendor VEX statement.","properties":{"ecosystem":{"$ref":"#/components/schemas/v1Ecosystem"},"fixed_vuln_ids":{"description":"Vulnerability IDs and aliases already fixed in this exact package version.","items":{"type":"string"},"type":"array"},"vendor":{"description":"Vendor that published the rebuilt artifact, for example \"chainguard\".","type":"string"}},"required":["ecosystem","vendor"],"type":"object"},"v1Version":{"properties":{"metadata":{"additionalProperties":{"type":"string"},"description":"Version metadata.","type":"object"},"ref":{"description":"Resolved ref of the source control version.\nCan be a tag, a branch or a SHA.","type":"string"},"sha":{"description":"SHA of the source control version.\nBecause the SHA might not be possible to resolved this field is optional.","type":"string"}},"required":["ref"],"type":"object"},"v1VersionDiff":{"description":"Protobuf definition for VersionDiff.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VersionDiffSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the version diff.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta"],"type":"object"},"v1VersionDiffResult":{"description":"Protobuf definition for VersionDiffResult.","properties":{"confidence":{"$ref":"#/components/schemas/v1Confidence"},"function_change":{"$ref":"#/components/schemas/v1FunctionChange"},"reachable_path":{"items":{"type":"string"},"type":"array"},"type_change":{"$ref":"#/components/schemas/v1TypeChange"},"violating_types":{"additionalProperties":{"$ref":"#/components/schemas/VersionDiffResultRepeatedString"},"type":"object"}},"type":"object"},"v1VersionDiffSpec":{"properties":{"func_diff":{"items":{"$ref":"#/components/schemas/v1FunctionChange"},"type":"array"},"pkg_version_uuid":{"type":"string"},"to_pkg_version_uuid":{"type":"string"},"type_diff":{"items":{"$ref":"#/components/schemas/v1TypeChange"},"type":"array"}},"required":["pkg_version_uuid","to_pkg_version_uuid"],"type":"object"},"v1VersionUpgrade":{"description":"VersionUpgrade contains all information about a possible version upgrade of a dependency package.\nThis upgrade object can be under a project or a package version object.","properties":{"context":{"$ref":"#/components/schemas/v1Context"},"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VersionUpgradeSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of the resource.","readOnly":true,"type":"string"}},"required":["tenant_meta","meta","context"],"type":"object"},"v1VersionUpgradeSpec":{"properties":{"all_upgrades":{"$ref":"#/components/schemas/VersionUpgradeUpgradeList"},"configuration":{"$ref":"#/components/schemas/v1ReleaseUpgradeConfiguration"},"finding_fixing_upgrades":{"additionalProperties":{"$ref":"#/components/schemas/VersionUpgradeUpgradeList"},"description":"Upgrades that fix findings.","type":"object"},"name":{"description":"The name of the project or package version for this record.","type":"string"},"prioritized_upgrades":{"$ref":"#/components/schemas/VersionUpgradeUpgradeList"},"project_uuid":{"description":"The UUID of the project to which this version upgrade relates.","type":"string"},"stats":{"$ref":"#/components/schemas/v1ReleaseUpgradeStats"},"upgrade_info":{"$ref":"#/components/schemas/v1ReleaseUpgradeInfo"}},"required":["project_uuid","name"],"type":"object"},"v1Vuln":{"description":"Vuln represents an Endor Labs vulnerability in the system.","properties":{"meta":{"$ref":"#/components/schemas/v1Meta"},"spec":{"$ref":"#/components/schemas/v1VulnSpec"},"tenant_meta":{"$ref":"#/components/schemas/v1TenantMeta"},"uuid":{"description":"The UUID of a vulnerability.","readOnly":true,"type":"string"}},"required":["meta"],"type":"object"},"v1VulnSpec":{"properties":{"additional_endor_notes":{"description":"Notes from the Endor Labs analysis of the vulnerability.","items":{"type":"string"},"type":"array"},"additional_notes":{"description":"Notes by the person that processed the CVE.","items":{"type":"string"},"type":"array"},"affected":{"items":{"$ref":"#/components/schemas/VulnSpecAffected"},"type":"array"},"aliases":{"description":"Optional. IDs for the same vulnerability in other databases.","items":{"type":"string"},"type":"array"},"credits":{"description":"Optional. Credits for the vulnerability.","items":{"$ref":"#/components/schemas/VulnSpecCredit"},"type":"array"},"cvss_v3_severity":{"$ref":"#/components/schemas/SpecCVSSV3Severity"},"cvss_v4_severity":{"$ref":"#/components/schemas/SpecCVSSV4Severity"},"database_specific":{"description":"Optional. JSON object holding additional information about the\nvulnerability as defined by the database for which the record applies.","type":"object"},"deepdive":{"description":"Indicates whether the research team performed full analysis on multiple\nartifact_ids involved in CVE.","type":"boolean"},"disputed":{"description":"Indicates whether the research team considers a CVE should be disputed\nbased on analysis.","type":"boolean"},"epss_score":{"$ref":"#/components/schemas/SpecEPSSScore"},"malicious":{"description":"Indicates whether this item is classified as malicious or not.","type":"boolean"},"modified":{"description":"The RFC3339 timestamp indicating when this entry was last modified.","format":"date-time","type":"string"},"published":{"description":"The RFC3339 timestamp indicating when this entry was published.","format":"date-time","type":"string"},"raw":{"$ref":"#/components/schemas/SpecRaw"},"references":{"description":"Reference URLs for the vulnerability.","items":{"$ref":"#/components/schemas/VulnSpecReference"},"type":"array"},"related":{"description":"Optional. List of IDs of closely related vulnerabilities, such as the\nsame problem in alternate ecosystems.","items":{"type":"string"},"type":"array"},"summary":{"description":"Long summary of the vulnerability.","type":"string"},"withdrawn":{"description":"Optional. The RFC3339 timestamp indicating when this entry is considered\nto be withdrawn.","format":"date-time","type":"string"}},"type":"object"},"v1VulnerabilityStats":{"description":"VulnerabilityFactors message includes all vulnerability related data.","properties":{"critical_vulnerabilities":{"description":"The number of critical vulnerabilities.","format":"int32","type":"integer"},"high_vulnerabilities":{"description":"The number of high vulnerabilities.","format":"int32","type":"integer"},"low_vulnerabilities":{"description":"The number of low vulnerabilities.","format":"int32","type":"integer"},"medium_vulnerabilities":{"description":"The number of medium vulnerabilities.","format":"int32","type":"integer"},"vulnerabilities":{"description":"A list of all the vulnerabilities found affecting this package or package version.","items":{"$ref":"#/components/schemas/v1Vuln"},"type":"array"}},"type":"object"},"v1WebhookConfig":{"properties":{"api_key":{"type":"string"},"auth_method":{"$ref":"#/components/schemas/WebhookConfigWebhookAuthMethod"},"basic_auth":{"$ref":"#/components/schemas/WebhookConfigWebhookBasicAuth"},"custom_headers":{"description":"Additional HTTP headers attached to every webhook request, evaluated\nindependently of auth_method. Enables forwarding to systems that\nrequire non-Bearer auth headers (Datadog, Splunk, New Relic, Elastic).","items":{"$ref":"#/components/schemas/WebhookConfigWebhookHeader"},"type":"array"},"disable_hmac":{"type":"boolean"},"hmac_shared_secret":{"type":"string"},"url":{"type":"string"}},"required":["url","auth_method"],"type":"object"},"v1WebhookTemplate":{"properties":{"open_action_template":{"description":"The template to be used for OPEN action for webhook plugin.","type":"string"},"resolve_action_template":{"description":"The template to be used for RESOLVE action for webhook plugin.","type":"string"},"update_action_template":{"description":"The template to be used for UPDATE action for webhook plugin.","type":"string"}},"type":"object"}}},"info":{"description":"Integrate your application with Endor Labs using the REST API.","title":"Endor Labs REST API Reference","version":"1.0"},"openapi":"3.0.3","paths":{"/v1/auth":{"get":{"description":"Returns user authentication data and allows a user to validate their token.","operationId":"UserInfoService_Verify","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UserInfoResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Verify","tags":["UserInfoService"],"x-internal":true}},"/v1/auth/api-key/validate":{"post":{"description":"Validates an API key.","operationId":"APIKeyValidatorService_CreateAPIKeyValidator","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ValidateAPIKeyReq"}}},"description":"Validates an API key.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ValidateAPIKeyReq"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAPIKeyReq","tags":["APIKeyValidatorService"]}},"/v1/auth/{authentication_source}":{"get":{"description":"Initiates an authentication request and returns a token along with the token expiration time for an authenticated user.","operationId":"AuthenticationService_Authenticate","parameters":[{"description":"Specifies a user's authentication method, such as \"GitHub\".","in":"path","name":"authentication_source","required":true,"schema":{"type":"string"}},{"description":"The API key used for system authentication.\n\nKey is required only if the authentication source is \"api-key\".","in":"query","name":"key","schema":{"type":"string"}},{"description":"The API secret used for system authentication.\n\nSecret is required only if the authentication source is \"api-key\".","in":"query","name":"secret","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthenticationResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Authenticate","tags":["AuthenticationService"]}},"/v1/auth/{authentication_source}/logout":{"get":{"description":"Clears the user session and cookies.","operationId":"AuthenticationService_Logout","parameters":[{"description":"Specifies a user's authentication method, such as \"GitHub\".","in":"path","name":"authentication_source","required":true,"schema":{"type":"string"}},{"description":"The API key used for system authentication.\n\nKey is required only if the authentication source is \"api-key\".","in":"query","name":"key","schema":{"type":"string"}},{"description":"The API secret used for system authentication.\n\nSecret is required only if the authentication source is \"api-key\".","in":"query","name":"secret","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthenticationResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Logout","tags":["AuthenticationService"]}},"/v1/custom-templates/{custom_template_type}/default":{"get":{"description":"Fetches the default template for the given template type.","operationId":"CustomTemplateService_GetDefaultTemplate","parameters":[{"description":"template_type is the type of the template.","in":"path","name":"custom_template_type","required":true,"schema":{"type":"string"}},{"description":"platform_type is the platform type for the templates being fetched for PR Comments.","in":"query","name":"platform_type","schema":{"default":"PLATFORM_SOURCE_UNSPECIFIED","enum":["PLATFORM_SOURCE_UNSPECIFIED","PLATFORM_SOURCE_GITHUB","PLATFORM_SOURCE_GITLAB","PLATFORM_SOURCE_GITSERVER","PLATFORM_SOURCE_BITBUCKET","PLATFORM_SOURCE_BINARY","PLATFORM_SOURCE_HUGGING_FACE","PLATFORM_SOURCE_AZURE","PLATFORM_SOURCE_ARCHIVE","PLATFORM_SOURCE_EXTERNAL_AI_SERVICE","PLATFORM_SOURCE_GITHUB_ENTERPRISE"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CustomTemplate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDefaultTemplate","tags":["CustomTemplateService"],"x-internal":true}},"/v1/github-tokens":{"get":{"description":"Lists all available GitHub tokens.","operationId":"GithubTokenService_ListGithubTokens","parameters":[{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListGithubTokensResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListGithubTokens","tags":["GithubTokenService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-configs":{"patch":{"description":"Updates a specified AgentConfig.","operationId":"AgentConfigService_UpdateAgentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigServiceUpdateAgentConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentConfig","tags":["AgentConfigService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-directory-entries":{"patch":{"description":"Updates a specified AgentDirectoryEntry.","operationId":"AgentDirectoryEntryService_UpdateAgentDirectoryEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentDirectoryEntryServiceUpdateAgentDirectoryEntryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentDirectoryEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentDirectoryEntry","tags":["AgentDirectoryEntryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-hook-events":{"patch":{"description":"Updates an AgentHookEvent specified by its UUID.","operationId":"AgentHookEventService_UpdateAgentHookEvent","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHookEventServiceUpdateAgentHookEventBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentHookEvent"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentHookEvent","tags":["AgentHookEventService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-hook-policy-definitions":{"patch":{"description":"Updates a specified AgentHookPolicyDefinition.","operationId":"AgentHookPolicyDefinitionService_UpdateAgentHookPolicyDefinition","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHookPolicyDefinitionServiceUpdateAgentHookPolicyDefinitionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinition"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentHookPolicyDefinition","tags":["AgentHookPolicyDefinitionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-sessions":{"patch":{"description":"Updates a specified AgentSession.","operationId":"AgentSessionService_UpdateAgentSession","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionServiceUpdateAgentSessionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentSession"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentSession","tags":["AgentSessionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agent-workflows":{"patch":{"description":"Updates a specified AgentWorkflow.","operationId":"AgentWorkflowService_UpdateAgentWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWorkflowServiceUpdateAgentWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgentWorkflow","tags":["AgentWorkflowService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/agentic-inventory":{"patch":{"operationId":"AgenticInventoryService_UpdateAgenticInventory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgenticInventoryServiceUpdateAgenticInventoryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgenticInventory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAgenticInventory updates an agentic inventory record.","tags":["AgenticInventoryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/ai-provider-keys":{"patch":{"description":"Updates an AI provider key with the information in the request body.\nSending the redacted placeholder for the API key keeps the stored\ncredential unchanged.","operationId":"AIProviderKeyService_UpdateAIProviderKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIProviderKeyServiceUpdateAIProviderKeyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIProviderKey"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAIProviderKey","tags":["AIProviderKeyService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/ai-sast-context-summaries":{"patch":{"operationId":"AISastContextSummaryService_UpdateAISastContextSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISastContextSummaryServiceUpdateAISastContextSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastContextSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAISastContextSummary refreshes section contents and inputs_hash.","tags":["AISastContextSummaryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/ai-sast-customer-contexts":{"patch":{"operationId":"AISastCustomerContextService_UpdateAISastCustomerContext","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISastCustomerContextServiceUpdateAISastCustomerContextBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastCustomerContext"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAISastCustomerContext updates an entry from the request body.","tags":["AISastCustomerContextService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/ai-sast-scan-caches":{"patch":{"description":"Updates an AI SAST scan cache entry with the information in the request body.","operationId":"AISASTScanCacheService_UpdateAISASTScanCache","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISASTScanCacheServiceUpdateAISASTScanCacheBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISASTScanCache"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAISASTScanCache","tags":["AISASTScanCacheService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/analytics-execution-records":{"patch":{"description":"Updates the analytic execution record objects.","operationId":"AnalyticsExecutionRecordService_UpdateAnalyticsExecutionRecord","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsExecutionRecordServiceUpdateAnalyticsExecutionRecordBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecord"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAnalyticsExecutionRecord","tags":["AnalyticsExecutionRecordService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/artifact-signatures":{"patch":{"description":"Updates the artifact signature.","operationId":"ArtifactSignatureService_UpdateArtifactSignature","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactSignatureServiceUpdateArtifactSignatureBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactSignature"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateArtifactSignature","tags":["ArtifactSignatureService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/assured-package-versions":{"patch":{"description":"Updates a specified assured package version.","operationId":"AssuredPackageVersionService_UpdateAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssuredPackageVersionServiceUpdateAssuredPackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAssuredPackageVersion","tags":["AssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/authorization-policies":{"patch":{"description":"Updates the authorization policy for a given tenant.","operationId":"AuthorizationPolicyService_UpdateAuthorizationPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizationPolicyServiceUpdateAuthorizationPolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthorizationPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateAuthorizationPolicy","tags":["AuthorizationPolicyService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/call-graph-data":{"patch":{"description":"Updates the metadata of a callgraph.","operationId":"CallGraphDataService_UpdateCallGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallGraphDataServiceUpdateCallGraphDataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CallGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateCallGraphData","tags":["CallGraphDataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/ci-runs":{"patch":{"description":"Updates a specified CI run.","operationId":"CIRunService_UpdateCIRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CIRunServiceUpdateCIRunBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CIRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateCIRun","tags":["CIRunService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/codeowners":{"patch":{"description":"Updates the CodeOwner object specified by the UUID.","operationId":"CodeOwnersService_UpdateCodeOwners","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeOwnersServiceUpdateCodeOwnersBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CodeOwners"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateCodeOwners","tags":["CodeOwnersService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/compliance-enrollments":{"patch":{"description":"Updates a ComplianceEnrollment. A rotated Access Key is validated before it\nis stored. Sending the redacted placeholder keeps the stored key unchanged.","operationId":"ComplianceEnrollmentService_UpdateComplianceEnrollment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEnrollmentServiceUpdateComplianceEnrollmentBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ComplianceEnrollment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateComplianceEnrollment","tags":["ComplianceEnrollmentService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/contributor-history":{"patch":{"description":"Updates a contributor history record with the information in the request body.","operationId":"ContributorHistoryService_UpdateContributorHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContributorHistoryServiceUpdateContributorHistoryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorHistory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateContributorHistory","tags":["ContributorHistoryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/contributor-identity-mappings":{"patch":{"operationId":"ContributorIdentityMappingService_UpdateContributorIdentityMapping","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContributorIdentityMappingServiceUpdateContributorIdentityMappingBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorIdentityMapping"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateContributorIdentityMapping updates a mapping; canonical_email is recomputed server-side when spec changes.","tags":["ContributorIdentityMappingService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/dashboard-config":{"patch":{"description":"Updates a specified dashboard configuration.","operationId":"DashboardConfigService_UpdateDashboardConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardConfigServiceUpdateDashboardConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DashboardConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateDashboardConfig","tags":["DashboardConfigService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/demos":{"patch":{"description":"Updates a provided namespace based on its UUID.","operationId":"DemoService_UpdateDemo","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoServiceUpdateDemoBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Demo"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateDemo","tags":["DemoService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/dependency-metadata":{"patch":{"description":"Update a specified dependency metadata object.","operationId":"DependencyMetadataService_UpdateDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyMetadataServiceUpdateDependencyMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DependencyMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateDependencyMetadata","tags":["DependencyMetadataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/endor-ignore-entries":{"patch":{"description":"Updates the EndorIgnoreEntry object identified by the UUID.","operationId":"EndorIgnoreEntryService_UpdateEndorIgnoreEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndorIgnoreEntryServiceUpdateEndorIgnoreEntryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorIgnoreEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateEndorIgnoreEntry","tags":["EndorIgnoreEntryService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/endor-licenses":{"patch":{"description":"Updates a specified Endor Labs license.","operationId":"EndorLicenseService_UpdateEndorLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndorLicenseServiceUpdateEndorLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateEndorLicense","tags":["EndorLicenseService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/error-parsing-rules":{"patch":{"description":"Updates an error parsing rule with the information in the request body.","operationId":"ErrorParsingRuleService_UpdateErrorParsingRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorParsingRuleServiceUpdateErrorParsingRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ErrorParsingRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateErrorParsingRule","tags":["ErrorParsingRuleService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/evaluation-methods":{"patch":{"description":"Updates the evaluation method.","operationId":"EvaluationMethodService_UpdateEvaluationMethod","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationMethodServiceUpdateEvaluationMethodBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationMethod"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateEvaluationMethod","tags":["EvaluationMethodService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/evaluation-parameters":{"patch":{"description":"Updates an evaluation parameter.","operationId":"EvaluationParameterService_UpdateEvaluationParameter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationParameterServiceUpdateEvaluationParameterBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationParameter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateEvaluationParameter","tags":["EvaluationParameterService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/exporters":{"patch":{"description":"Updates a exporter.","operationId":"ExporterService_UpdateExporter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExporterServiceUpdateExporterBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Exporter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateExporter","tags":["ExporterService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/feedbacks":{"patch":{"description":"Updates a feedback with the information in the request body.","operationId":"FeedbackService_UpdateFeedback","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackServiceUpdateFeedbackBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Feedback"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateFeedback","tags":["FeedbackService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/file-segments":{"patch":{"description":"Update a specified file segment object.","operationId":"FileSegmentsService_UpdateFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSegmentsServiceUpdateFileSegmentsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FileSegments"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateFileSegments","tags":["FileSegmentsService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/findings":{"patch":{"description":"Update a specified finding.","operationId":"FindingService_UpdateFinding","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingServiceUpdateFindingBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Finding"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateFinding","tags":["FindingService"],"x-internal":false}},"/v1/namespaces/{object.tenant_meta.namespace}/function-graph-data":{"patch":{"description":"Updates the metadata of a callgraph.","operationId":"FunctionGraphDataService_UpdateFunctionGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionGraphDataServiceUpdateFunctionGraphDataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FunctionGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateFunctionGraphData","tags":["FunctionGraphDataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/identity-providers":{"patch":{"description":"Updates an identity provider.","operationId":"IdentityProviderService_UpdateIdentityProvider","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityProviderServiceUpdateIdentityProviderBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IdentityProvider"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateIdentityProvider","tags":["IdentityProviderService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/ingestion-state":{"patch":{"operationId":"IngestionStateService_UpdateIngestionState","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestionStateServiceUpdateIngestionStateBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IngestionState"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateIngestionState updates the ingestion state.\nNote: This RPC is defined for code generation purposes (to generate URI method for UpdateIngestionStateRequest).\nThe actual update operations are performed directly by ingestors via database access, not through this RPC.","tags":["IngestionStateService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/installations":{"patch":{"description":"Updates an installation.","operationId":"InstallationService_UpdateInstallation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallationServiceUpdateInstallationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Installation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateInstallation","tags":["InstallationService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/invitations":{"patch":{"description":"Updates the invitation.","operationId":"InvitationService_UpdateInvitation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationServiceUpdateInvitationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Invitation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateInvitation","tags":["InvitationService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/ip-address-policies":{"patch":{"description":"Updates a specified IPAddressPolicy.","operationId":"IPAddressPolicyService_UpdateIPAddressPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAddressPolicyServiceUpdateIPAddressPolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IPAddressPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateIPAddressPolicy","tags":["IPAddressPolicyService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/jobs":{"patch":{"description":"Updates the job.","operationId":"JobService_UpdateJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobServiceUpdateJobBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Job"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateJob","tags":["JobService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/jvm-class-metadata":{"patch":{"description":"Updates an jvm class metadata.","operationId":"JVMClassMetadataService_UpdateJVMClassMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JVMClassMetadataServiceUpdateJVMClassMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1JVMClassMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateJVMClassMetadata","tags":["JVMClassMetadataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/license-dependencies":{"patch":{"description":"Updates the license dependency.","operationId":"LicenseDependencyService_UpdateLicenseDependency","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseDependencyServiceUpdateLicenseDependencyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseDependency"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateLicenseDependency","tags":["LicenseDependencyService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/license-summaries":{"patch":{"description":"Updates the license summary.","operationId":"LicenseSummaryService_UpdateLicenseSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseSummaryServiceUpdateLicenseSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateLicenseSummary","tags":["LicenseSummaryService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/licenses":{"patch":{"description":"Updates the license.","operationId":"LicenseService_UpdateLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseServiceUpdateLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1License"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateLicense","tags":["LicenseService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/linter-results":{"patch":{"description":"Updates a linter result.","operationId":"LinterResultService_UpdateLinterResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinterResultServiceUpdateLinterResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LinterResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateLinterResult","tags":["LinterResultService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware":{"patch":{"description":"Updates a malware record identified by the UUID.","operationId":"MalwareService_UpdateMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareServiceUpdateMalwareBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Malware"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalware","tags":["MalwareService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-analysis-tasks":{"patch":{"operationId":"MalwareDetectionAnalysisTaskService_UpdateMalwareDetectionAnalysisTask","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionAnalysisTaskServiceUpdateMalwareDetectionAnalysisTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTask"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionAnalysisTask updates an analysis task.","tags":["MalwareDetectionAnalysisTaskService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-artifact-download-status":{"patch":{"operationId":"MalwareDetectionArtifactDownloadStatusService_UpdateMalwareDetectionArtifactDownloadStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionArtifactDownloadStatusServiceUpdateMalwareDetectionArtifactDownloadStatusBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionArtifactDownloadStatus updates an artifact download status.","tags":["MalwareDetectionArtifactDownloadStatusService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-assessments":{"patch":{"operationId":"MalwareDetectionAssessmentService_UpdateMalwareDetectionAssessment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionAssessmentServiceUpdateMalwareDetectionAssessmentBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAssessment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionAssessment updates an assessment.","tags":["MalwareDetectionAssessmentService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-iocs":{"patch":{"operationId":"MalwareDetectionIoCService_UpdateMalwareDetectionIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionIoCServiceUpdateMalwareDetectionIoCBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionIoC updates an IoC.","tags":["MalwareDetectionIoCService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-package-iocs":{"patch":{"operationId":"MalwareDetectionPackageIoCService_UpdateMalwareDetectionPackageIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionPackageIoCServiceUpdateMalwareDetectionPackageIoCBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionPackageIoC updates a package-IoC relationship.","tags":["MalwareDetectionPackageIoCService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-packages":{"patch":{"operationId":"MalwareDetectionPackageService_UpdateMalwareDetectionPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionPackageServiceUpdateMalwareDetectionPackageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionPackage updates a package record.","tags":["MalwareDetectionPackageService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-detection-workflows":{"patch":{"operationId":"MalwareDetectionWorkflowService_UpdateMalwareDetectionWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionWorkflowServiceUpdateMalwareDetectionWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareDetectionWorkflow updates an existing workflow configuration.","tags":["MalwareDetectionWorkflowService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/malware-exposure":{"patch":{"description":"Updates the MalwareExposure object specified by the UUID.","operationId":"MalwareExposureService_UpdateMalwareExposure","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareExposureServiceUpdateMalwareExposureBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareExposure"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMalwareExposure","tags":["MalwareExposureService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/metrics":{"patch":{"description":"Updates a specified metric.\nThis will only be used by the backend services, the user/UI wil never have to do this.","operationId":"MetricService_UpdateMetric","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricServiceUpdateMetricBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Metric"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateMetric","tags":["MetricService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/namespaces":{"patch":{"description":"Updates a provided namespace based on its UUID.","operationId":"NamespaceService_UpdateNamespace","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NamespaceServiceUpdateNamespaceBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Namespace"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateNamespace","tags":["NamespaceService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/namespaces/{object.uuid}/namespaces":{"patch":{"description":"Updates a provided namespace based on its UUID.","operationId":"NamespaceService_UpdateNamespace2","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of a namespace.","in":"path","name":"object.uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NamespaceServiceUpdateNamespaceBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Namespace"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateNamespace","tags":["NamespaceService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/notification-targets":{"patch":{"description":"Updates a notification target.","operationId":"NotificationTargetService_UpdateNotificationTarget","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationTargetServiceUpdateNotificationTargetBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1NotificationTarget"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateNotificationTarget","tags":["NotificationTargetService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/notifications":{"patch":{"description":"Updates the notification.","operationId":"NotificationService_UpdateNotification","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationServiceUpdateNotificationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Notification"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateNotification","tags":["NotificationService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/onprem-schedulers":{"patch":{"operationId":"OnPremSchedulerService_UpdateOnPremScheduler","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnPremSchedulerServiceUpdateOnPremSchedulerBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OnPremScheduler"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOnPremScheduler updates the specified onprem scheduler.","tags":["OnPremSchedulerService"],"x-internal":false}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-allowed-workflows":{"patch":{"description":"Updates the allowed workflows object of an organization.","operationId":"OrganizationAllowedWorkflowsService_UpdateOrganizationAllowedWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAllowedWorkflowsServiceUpdateOrganizationAllowedWorkflowsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflows"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationAllowedWorkflows","tags":["OrganizationAllowedWorkflowsService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-block-lists":{"patch":{"description":"Updates the blocked user list of a platform organization.","operationId":"OrganizationBlockListService_UpdateOrganizationBlockList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBlockListServiceUpdateOrganizationBlockListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationBlockList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationBlockList","tags":["OrganizationBlockListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-cicd-permissions":{"patch":{"description":"Updates the CI/CD permissions object of a platform organization.","operationId":"OrganizationCICDPermissionsService_UpdateOrganizationCICDPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCICDPermissionsServiceUpdateOrganizationCICDPermissionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCICDPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationCICDPermissions","tags":["OrganizationCICDPermissionsService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-custom-permission-lists":{"patch":{"description":"Updates the custom fine grained permissions of a platform organization.","operationId":"OrganizationCustomPermissionListService_UpdateOrganizationCustomPermissionList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCustomPermissionListServiceUpdateOrganizationCustomPermissionListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationCustomPermissionList","tags":["OrganizationCustomPermissionListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-custom-role-lists":{"patch":{"description":"Updates the custom role list of a platform organization.","operationId":"OrganizationCustomRoleListService_UpdateOrganizationCustomRoleList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCustomRoleListServiceUpdateOrganizationCustomRoleListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomRoleList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationCustomRoleList","tags":["OrganizationCustomRoleListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-hooks":{"patch":{"description":"Updates an organization hook.","operationId":"OrganizationHookService_UpdateOrganizationHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationHookServiceUpdateOrganizationHookBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationHook","tags":["OrganizationHookService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-installation-lists":{"patch":{"description":"Updates the installation information of a platform organization.","operationId":"OrganizationInstallationListService_UpdateOrganizationInstallationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInstallationListServiceUpdateOrganizationInstallationListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInstallationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationInstallationList","tags":["OrganizationInstallationListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-invitation-lists":{"patch":{"description":"Updates invitations of a platform organization.","operationId":"OrganizationInvitationListService_UpdateOrganizationInvitationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInvitationListServiceUpdateOrganizationInvitationListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInvitationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationInvitationList","tags":["OrganizationInvitationListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-member-lists":{"patch":{"description":"Updates the members of a platform organization.","operationId":"OrganizationMemberListService_UpdateOrganizationMemberList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberListServiceUpdateOrganizationMemberListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationMemberList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationMemberList","tags":["OrganizationMemberListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-outside-collaborator-lists":{"patch":{"description":"Updates outside collaborators of a platform organization.","operationId":"OrganizationOutsideCollaboratorListService_UpdateOrganizationOutsideCollaboratorList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationOutsideCollaboratorListServiceUpdateOrganizationOutsideCollaboratorListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationOutsideCollaboratorList","tags":["OrganizationOutsideCollaboratorListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-runner-group-config":{"patch":{"description":"Updates the runner group configuration of a platform organization.","operationId":"OrganizationRunnerGroupConfigService_UpdateOrganizationRunnerGroupConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRunnerGroupConfigServiceUpdateOrganizationRunnerGroupConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationRunnerGroupConfig","tags":["OrganizationRunnerGroupConfigService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-security-manager-lists":{"patch":{"description":"Updates security managers of a platform organization.","operationId":"OrganizationSecurityManagerListService_UpdateOrganizationSecurityManagerList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSecurityManagerListServiceUpdateOrganizationSecurityManagerListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationSecurityManagerList","tags":["OrganizationSecurityManagerListService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/organization-workflow-permissions":{"patch":{"description":"Updates workflow permissions of an organization.","operationId":"OrganizationWorkflowPermissionsService_UpdateOrganizationWorkflowPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationWorkflowPermissionsServiceUpdateOrganizationWorkflowPermissionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganizationWorkflowPermissions","tags":["OrganizationWorkflowPermissionsService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/package-license-overrides":{"patch":{"description":"Updates a specified package license override.","operationId":"PackageLicenseOverrideService_UpdatePackageLicenseOverride","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageLicenseOverrideServiceUpdatePackageLicenseOverrideBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicenseOverride"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackageLicenseOverride","tags":["PackageLicenseOverrideService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/package-licenses":{"patch":{"description":"Updates the package license.","operationId":"PackageLicenseService_UpdatePackageLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageLicenseServiceUpdatePackageLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackageLicense","tags":["PackageLicenseService"],"x-internal":false}},"/v1/namespaces/{object.tenant_meta.namespace}/package-managers":{"patch":{"description":"Updates a specified package manager.","operationId":"PackageManagerService_UpdatePackageManager","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageManagerServiceUpdatePackageManagerBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageManager"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackageManager","tags":["PackageManagerService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/package-version-source-metadata":{"patch":{"description":"Updates an package version source metadata.","operationId":"PackageVersionSourceMetadataService_UpdatePackageVersionSourceMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionSourceMetadataServiceUpdatePackageVersionSourceMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackageVersionSourceMetadata","tags":["PackageVersionSourceMetadataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/package-versions":{"patch":{"description":"Updates a specified package version.","operationId":"PackageVersionService_UpdatePackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionServiceUpdatePackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackageVersion","tags":["PackageVersionService"],"x-internal":false}},"/v1/namespaces/{object.tenant_meta.namespace}/packages":{"patch":{"description":"Updates a specified package.","operationId":"PackageService_UpdatePackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageServiceUpdatePackageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Package"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePackage","tags":["PackageService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/platform-accounts":{"patch":{"description":"Updates a platform account.","operationId":"PlatformAccountService_UpdatePlatformAccount","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAccountServiceUpdatePlatformAccountBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformAccount"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePlatformAccount","tags":["PlatformAccountService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/platform-organizations":{"patch":{"description":"Updates a platform organization.","operationId":"PlatformOrganizationService_UpdatePlatformOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformOrganizationServiceUpdatePlatformOrganizationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformOrganization"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePlatformOrganization","tags":["PlatformOrganizationService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/policies":{"patch":{"description":"Updates the policy.","operationId":"PolicyService_UpdatePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyServiceUpdatePolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Policy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePolicy","tags":["PolicyService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/policy-templates":{"patch":{"description":"Updates a policy template.","operationId":"PolicyTemplateService_UpdatePolicyTemplate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyTemplateServiceUpdatePolicyTemplateBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PolicyTemplate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePolicyTemplate","tags":["PolicyTemplateService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/pr-comment-configs":{"patch":{"description":"Updates the the PR comment configuration.","operationId":"PRCommentConfigService_UpdatePRCommentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PRCommentConfigServiceUpdatePRCommentConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PRCommentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdatePRCommentConfig","tags":["PRCommentConfigService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/project-summaries":{"patch":{"description":"Updates a project summary with the information in the request body.","operationId":"ProjectSummaryService_UpdateProjectSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectSummaryServiceUpdateProjectSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProjectSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateProjectSummary","tags":["ProjectSummaryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/projects":{"patch":{"description":"Updates the specified project with the information in the request body.","operationId":"ProjectService_UpdateProject","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectServiceUpdateProjectBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Project"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateProject","tags":["ProjectService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/provisioning-results":{"patch":{"description":"Update a specified provisioning result.","operationId":"ProvisioningResultService_UpdateProvisioningResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisioningResultServiceUpdateProvisioningResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProvisioningResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateProvisioningResult","tags":["ProvisioningResultService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/registry-ingestion-checkpoints":{"patch":{"description":"Updates a registry ingestion checkpoint.","operationId":"RegistryIngestionCheckpointService_UpdateRegistryIngestionCheckpoint","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryIngestionCheckpointServiceUpdateRegistryIngestionCheckpointBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpoint"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRegistryIngestionCheckpoint","tags":["RegistryIngestionCheckpointService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/repositories":{"patch":{"description":"Updates a source control repository with the information in the request body.","operationId":"RepositoryService_UpdateRepository","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryServiceUpdateRepositoryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Repository"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepository","tags":["RepositoryService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-branch-protections":{"patch":{"description":"Updates a repository branch protection with the information in the request body.","operationId":"RepositoryBranchProtectionService_UpdateRepositoryBranchProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryBranchProtectionServiceUpdateRepositoryBranchProtectionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryBranchProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryBranchProtection","tags":["RepositoryBranchProtectionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-check-runs":{"patch":{"description":"Updates a repository check run with the information in the request body.","operationId":"RepositoryCheckRunService_UpdateRepositoryCheckRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCheckRunServiceUpdateRepositoryCheckRunBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCheckRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryCheckRun","tags":["RepositoryCheckRunService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-codeowners-file":{"patch":{"description":"Updates a repository's codeowners file information with the information in the request body.","operationId":"RepositoryCodeownersFileService_UpdateRepositoryCodeownersFile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCodeownersFileServiceUpdateRepositoryCodeownersFileBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCodeownersFile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryCodeownersFile","tags":["RepositoryCodeownersFileService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-collaborators":{"patch":{"description":"Updates a repository collaborator with the information in the request body.","operationId":"RepositoryCollaboratorsService_UpdateRepositoryCollaborators","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCollaboratorsServiceUpdateRepositoryCollaboratorsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCollaborators"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryCollaborators","tags":["RepositoryCollaboratorsService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-commits":{"patch":{"description":"Updates a repository commit with the information in the request body.","operationId":"RepositoryCommitService_UpdateRepositoryCommit","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCommitServiceUpdateRepositoryCommitBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCommit"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryCommit","tags":["RepositoryCommitService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-deployment-env-config":{"patch":{"description":"Updates a repository's deployment environment configuration with the information in the request body.","operationId":"RepositoryDeploymentEnvConfigService_UpdateRepositoryDeploymentEnvConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryDeploymentEnvConfigServiceUpdateRepositoryDeploymentEnvConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryDeploymentEnvConfig","tags":["RepositoryDeploymentEnvConfigService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-hooks":{"patch":{"description":"Updates a repository hook with the information in the request body.","operationId":"RepositoryHookService_UpdateRepositoryHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryHookServiceUpdateRepositoryHookBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryHook","tags":["RepositoryHookService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-issues":{"patch":{"description":"Updates a repository issue with the information in the request body.","operationId":"RepositoryIssueService_UpdateRepositoryIssue","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryIssueServiceUpdateRepositoryIssueBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryIssue"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryIssue","tags":["RepositoryIssueService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-pull-requests":{"patch":{"description":"Updates a repository pull request with the information in the request body.","operationId":"RepositoryPullRequestService_UpdateRepositoryPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryPullRequestServiceUpdateRepositoryPullRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryPullRequest","tags":["RepositoryPullRequestService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-releases":{"patch":{"description":"Updates a repository release with the information in the request body.","operationId":"RepositoryReleaseService_UpdateRepositoryRelease","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryReleaseServiceUpdateRepositoryReleaseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryRelease"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryRelease","tags":["RepositoryReleaseService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-scan-metadata":{"patch":{"description":"Updates the scan metadata of a repository.","operationId":"RepositoryScanMetadataService_UpdateRepositoryScanMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryScanMetadataServiceUpdateRepositoryScanMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryScanMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepository","tags":["RepositoryScanMetadataService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-statuses":{"patch":{"description":"Updates a repository status with the information in the request body.","operationId":"RepositoryStatusService_UpdateRepositoryStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryStatusServiceUpdateRepositoryStatusBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryStatus","tags":["RepositoryStatusService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-tag-protections":{"patch":{"description":"Updates a repository's tag protection information.","operationId":"RepositoryTagProtectionService_UpdateRepositoryTagProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryTagProtectionServiceUpdateRepositoryTagProtectionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryTagProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryTagProtection","tags":["RepositoryTagProtectionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/repository-versions":{"patch":{"description":"Updates a specified repository version with the information in the request body.","operationId":"RepositoryVersionService_UpdateRepositoryVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryVersionServiceUpdateRepositoryVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRepositoryVersion","tags":["RepositoryVersionService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/request-assured-package-versions":{"patch":{"description":"Updates a specified request assured package version.","operationId":"RequestAssuredPackageVersionService_UpdateRequestAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestAssuredPackageVersionServiceUpdateRequestAssuredPackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRequestAssuredPackageVersion","tags":["RequestAssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/rule-set-imports":{"patch":{"description":"Updates an imported set of rules.","operationId":"RuleSetImportService_UpdateRuleSetImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSetImportServiceUpdateRuleSetImportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedRuleSet"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateRuleSetImport","tags":["RuleSetImportService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/saved-queries":{"patch":{"description":"Updates the saved queries.","operationId":"SavedQueryService_UpdateSavedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryServiceUpdateSavedQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SavedQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSavedQuery","tags":["SavedQueryService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/sbom-imports":{"patch":{"description":"Updates an imported SBOM.","operationId":"SBOMImportService_UpdateSBOMImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SBOMImportServiceUpdateSBOMImportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedSBOM"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSBOMImport","tags":["SBOMImportService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/sbom-organizational-contacts":{"patch":{"description":"Updates an SBOM organizational contact.","operationId":"SBOMOrganizationalContactService_UpdateSBOMOrganizationalContact","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SBOMOrganizationalContactServiceUpdateSBOMOrganizationalContactBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SBOMOrganizationalContact"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSBOMOrganizationalContact","tags":["SBOMOrganizationalContactService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/scan-profiles":{"patch":{"operationId":"ScanProfileService_UpdateScanProfile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanProfileServiceUpdateScanProfileBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanProfile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScanProfile updates a specified Toolchain profile.","tags":["ScanProfileService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/scan-requests":{"patch":{"description":"Updates a scan request with the information in the request\nbody.","operationId":"ScanRequestService_UpdateScanRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanRequestServiceUpdateScanRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScanRequest","tags":["ScanRequestService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/scan-results":{"patch":{"description":"Update a specified scan result.","operationId":"ScanResultService_UpdateScanResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanResultServiceUpdateScanResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScanResult","tags":["ScanResultService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/scan-workflow-results":{"patch":{"description":"Updates the specified scan workflow result with the information in the request body.","operationId":"ScanWorkflowResultService_UpdateScanWorkflowResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanWorkflowResultServiceUpdateScanWorkflowResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflowResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScanWorkflowResult","tags":["ScanWorkflowResultService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/scan-workflows":{"patch":{"description":"Updates the specified scan workflow with the information in the request\nbody.","operationId":"ScanWorkflowService_UpdateScanWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanWorkflowServiceUpdateScanWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScanWorkflow","tags":["ScanWorkflowService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/scm-credentials":{"patch":{"operationId":"SCMCredentialService_UpdateSCMCredential","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCMCredentialServiceUpdateSCMCredentialBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMCredential"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSCMCredential updates the SCM credential specified in the request.","tags":["SCMCredentialService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/scm_app":{"patch":{"description":"Updates an SCM app.","operationId":"SCMAppService_UpdateSCMApp","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCMAppServiceUpdateSCMAppBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMApp"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSCMApp","tags":["SCMAppService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/scope-policies":{"patch":{"description":"Updates the scope policy.","operationId":"ScopePolicyService_UpdateScopePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopePolicyServiceUpdateScopePolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScopePolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateScopePolicy","tags":["ScopePolicyService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/secret-rules":{"patch":{"description":"Updates a secret rule.","operationId":"SecretRuleService_UpdateSecretRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretRuleServiceUpdateSecretRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecretRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSecretRule","tags":["SecretRuleService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/security-review-pull-requests":{"patch":{"description":"Updates a security review pull request with the information in the request body.","operationId":"SecurityReviewPullRequestService_UpdateSecurityReviewPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityReviewPullRequestServiceUpdateSecurityReviewPullRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecurityReviewPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSecurityReviewPullRequest","tags":["SecurityReviewPullRequestService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules":{"patch":{"description":"Updates the Semgrep rule.","operationId":"SemgrepRuleService_UpdateSemgrepRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemgrepRuleServiceUpdateSemgrepRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SemgrepRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSemgrepRule","tags":["SemgrepRuleService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/service-requests":{"patch":{"description":"Updates a specified service request.","operationId":"ServiceRequestService_UpdateServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceRequestServiceUpdateServiceRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ServiceRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateServiceRequest","tags":["ServiceRequestService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/supported-toolchain-versions":{"patch":{"operationId":"SupportedToolChainVersionService_UpdateSupportedToolChainVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedToolChainVersionServiceUpdateSupportedToolChainVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSupportedToolChainVersion updates a specified Toolchain profile.","tags":["SupportedToolChainVersionService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/system-config":{"patch":{"description":"Updates the system configuration.","operationId":"SystemConfigService_UpdateSystemConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemConfigServiceUpdateSystemConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SystemConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateSystemConfig","tags":["SystemConfigService"]}},"/v1/namespaces/{object.tenant_meta.namespace}/table-row-groups":{"patch":{"description":"Updates the table row group.","operationId":"TableRowGroupService_UpdateTableRowGroup","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowGroupServiceUpdateTableRowGroupBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1TableRowGroup"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateTableRowGroup","tags":["TableRowGroupService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/tool-patterns":{"patch":{"description":"Updates a tool pattern.","operationId":"ToolPatternService_UpdateToolPattern","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolPatternServiceUpdateToolPatternBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ToolPattern"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateToolPattern","tags":["ToolPatternService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/ui-saved-views":{"patch":{"description":"Updates the saved view.","operationId":"UISavedViewService_UpdateUISavedView","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UISavedViewServiceUpdateUISavedViewBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UISavedView"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateUISavedView","tags":["UISavedViewService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/user-telemetries":{"patch":{"description":"Updates a given user telemetry.","operationId":"UserTelemetryService_UpdateUserTelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTelemetryServiceUpdateUserTelemetryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UserTelemetry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateUserTelemetry","tags":["UserTelemetryService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/vendor-vex-statements":{"patch":{"description":"Updates a vendor VEX statement.","operationId":"VendorVexStatementService_UpdateVendorVexStatement","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorVexStatementServiceUpdateVendorVexStatementBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VendorVexStatement"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateVendorVexStatement","tags":["VendorVexStatementService"],"x-internal":true}},"/v1/namespaces/{object.tenant_meta.namespace}/version-upgrades":{"patch":{"description":"Updates a version upgrade.","operationId":"VersionUpgradeService_UpdateVersionUpgrade","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"object.tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUpgradeServiceUpdateVersionUpgradeBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VersionUpgrade"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateVersionUpgrade","tags":["VersionUpgradeService"]}},"/v1/namespaces/{target_namespace}/auth":{"get":{"description":"Returns user authentication data and allows a user to validate their token.","operationId":"UserInfoService_GetActivePermissions","parameters":[{"in":"path","name":"target_namespace","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UserInfoResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetActivePermissions","tags":["UserInfoService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-audit-logs":{"get":{"description":"Lists all agent audit logs in a given namespace.","operationId":"AgentAuditLogService_ListAgentAuditLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentAuditLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentAuditLogs","tags":["AgentAuditLogService"],"x-internal":true},"post":{"description":"Creates an agent audit log.","operationId":"AgentAuditLogService_CreateAgentAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentAuditLogServiceCreateAgentAuditLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentAuditLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentAuditLog","tags":["AgentAuditLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-audit-logs/{uuid}":{"delete":{"description":"Deletes the agent audit log specified by its UUID.","operationId":"AgentAuditLogService_DeleteAgentAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentAuditLog","tags":["AgentAuditLogService"],"x-internal":true},"get":{"description":"Fetches the agent audit log identified by the UUID.","operationId":"AgentAuditLogService_GetAgentAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentAuditLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentAuditLog","tags":["AgentAuditLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-configs":{"get":{"description":"Lists all AgentConfings visible in a namespace.","operationId":"AgentConfigService_ListAgentConfigs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentConfigsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentConfigs","tags":["AgentConfigService"],"x-internal":true},"post":{"description":"Creates an AgentConfig.","operationId":"AgentConfigService_CreateAgentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigServiceCreateAgentConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentConfig","tags":["AgentConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-configs/{uuid}":{"delete":{"description":"Deletes an AgentConfig specified by its UUID.","operationId":"AgentConfigService_DeleteAgentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentConfig","tags":["AgentConfigService"],"x-internal":true},"get":{"description":"Fetches an AgentConfig specified by its UUID.","operationId":"AgentConfigService_GetAgentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentConfig","tags":["AgentConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-directory-entries":{"get":{"description":"Lists AgentDirectoryEntries in a namespace. A tenant credential must send a\nfilter of the exact form meta.name==\"\u003cemail\u003e\" and receives at most that one\nentry. Any other filter, including none at all, a second condition, a\ndifferent key, or a comparator other than equality, is refused with\nInvalidArgument. Endor service credentials keep the unrestricted list, which\nis how the directory sync finds departed users.","operationId":"AgentDirectoryEntryService_ListAgentDirectoryEntries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentDirectoryEntriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentDirectoryEntries","tags":["AgentDirectoryEntryService"],"x-internal":true},"post":{"description":"Creates an AgentDirectoryEntry.","operationId":"AgentDirectoryEntryService_CreateAgentDirectoryEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentDirectoryEntryServiceCreateAgentDirectoryEntryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentDirectoryEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentDirectoryEntry","tags":["AgentDirectoryEntryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-directory-entries/{uuid}":{"delete":{"description":"Deletes an AgentDirectoryEntry specified by its UUID.","operationId":"AgentDirectoryEntryService_DeleteAgentDirectoryEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentDirectoryEntry","tags":["AgentDirectoryEntryService"],"x-internal":true},"get":{"description":"Fetches an AgentDirectoryEntry specified by its UUID.","operationId":"AgentDirectoryEntryService_GetAgentDirectoryEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentDirectoryEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentDirectoryEntry","tags":["AgentDirectoryEntryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-hook-events":{"get":{"description":"Lists all AgentHookEvents visible in a namespace.","operationId":"AgentHookEventService_ListAgentHookEvents","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentHookEventsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentHookEvents","tags":["AgentHookEventService"],"x-internal":true},"post":{"description":"Creates an AgentHookEvent.","operationId":"AgentHookEventService_CreateAgentHookEvent","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHookEventServiceCreateAgentHookEventBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentHookEvent"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentHookEvent","tags":["AgentHookEventService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-hook-events/{uuid}":{"delete":{"description":"Deletes an AgentHookEvent specified by its UUID.","operationId":"AgentHookEventService_DeleteAgentHookEvent","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentHookEvent","tags":["AgentHookEventService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-hook-policy-definitions":{"get":{"description":"Lists all AgentHookPolicyDefinitions visible in a namespace.","operationId":"AgentHookPolicyDefinitionService_ListAgentHookPolicyDefinitions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentHookPolicyDefinitionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentHookPolicyDefinitions","tags":["AgentHookPolicyDefinitionService"],"x-internal":true},"post":{"description":"Creates an AgentHookPolicyDefinition.","operationId":"AgentHookPolicyDefinitionService_CreateAgentHookPolicyDefinition","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHookPolicyDefinitionServiceCreateAgentHookPolicyDefinitionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinition"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentHookPolicyDefinition","tags":["AgentHookPolicyDefinitionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-hook-policy-definitions/{uuid}":{"delete":{"description":"Deletes an AgentHookPolicyDefinition specified by its UUID.","operationId":"AgentHookPolicyDefinitionService_DeleteAgentHookPolicyDefinition","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentHookPolicyDefinition","tags":["AgentHookPolicyDefinitionService"],"x-internal":true},"get":{"description":"Fetches an AgentHookPolicyDefinition specified by its UUID.","operationId":"AgentHookPolicyDefinitionService_GetAgentHookPolicyDefinition","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentHookPolicyDefinition"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentHookPolicyDefinition","tags":["AgentHookPolicyDefinitionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-sessions":{"get":{"description":"Lists all AgentSessions visible in a namespace.","operationId":"AgentSessionService_ListAgentSessions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentSessionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentSessions","tags":["AgentSessionService"],"x-internal":true},"post":{"description":"Creates an AgentSession.","operationId":"AgentSessionService_CreateAgentSession","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionServiceCreateAgentSessionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentSession"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentSession","tags":["AgentSessionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-sessions/{uuid}":{"delete":{"description":"Deletes an AgentSession specified by its UUID.","operationId":"AgentSessionService_DeleteAgentSession","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentSession","tags":["AgentSessionService"],"x-internal":true},"get":{"description":"Fetches an AgentSession specified by its UUID.","operationId":"AgentSessionService_GetAgentSession","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentSession"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentSession","tags":["AgentSessionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-telemetry/activity":{"get":{"description":"Returns the per-agent usage summary for a tenant.","operationId":"AgentTelemetryService_ListAgentActivity","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"Look-back window in days. Defaults to 7 when zero.","in":"query","name":"window_days","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentActivityResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentActivity","tags":["AgentTelemetryService"]}},"/v1/namespaces/{tenant_meta.namespace}/agent-telemetry/agents/{agent_id}/calls":{"get":{"description":"Returns one agent's recent captured calls, newest first.","operationId":"AgentTelemetryService_ListAgentCalls","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The agent whose calls to return; matches EndorAgent.id in the catalog.","in":"path","name":"agent_id","required":true,"schema":{"type":"string"}},{"description":"Max rows to return. Defaults to 100 when zero.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Opaque continuation token from a prior response.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Optional exact-match filter on decision. Accepted values: allowed, denied\n(case-sensitive); any other value is rejected.","in":"query","name":"decision","schema":{"type":"string"}},{"description":"Optional exact-match filter on operation. Accepted values: READ, LIST,\nCREATE, UPDATE, DELETE, UPSERT, EXECUTE (case-sensitive); any other value\nis rejected.","in":"query","name":"operation","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentCallsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentCalls","tags":["AgentTelemetryService"]}},"/v1/namespaces/{tenant_meta.namespace}/agent-tools":{"get":{"description":"Lists all AgentTools visible in a namespace and available in the backend.","operationId":"AgentToolService_ListAgentTools","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentToolsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentTools","tags":["AgentToolService"],"x-internal":true},"post":{"description":"Creates an entry for an agent tool. Not supported yet.","operationId":"AgentToolService_CreateAgentTool","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolServiceCreateAgentToolBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentTool"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentTool","tags":["AgentToolService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-workflows":{"get":{"description":"Lists all AgentWorkflows visible in a namespace.","operationId":"AgentWorkflowService_ListAgentWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgentWorkflowsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgentWorkflows","tags":["AgentWorkflowService"],"x-internal":true},"post":{"description":"Creates an AgentWorkflow.","operationId":"AgentWorkflowService_CreateAgentWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWorkflowServiceCreateAgentWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentWorkflow","tags":["AgentWorkflowService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agent-workflows/{uuid}":{"delete":{"description":"Deletes an AgentWorkflow specified by its UUID.","operationId":"AgentWorkflowService_DeleteAgentWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgentWorkflow","tags":["AgentWorkflowService"],"x-internal":true},"get":{"description":"Fetches an AgentWorkflow specified by its UUID.","operationId":"AgentWorkflowService_GetAgentWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgentWorkflow","tags":["AgentWorkflowService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agentic-aggregates":{"get":{"operationId":"AgenticAggregateService_ListAgenticAggregates","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgenticAggregateResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgenticAggregates returns aggregate records matching the given filters.","tags":["AgenticAggregateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agentic-aggregates/{uuid}":{"delete":{"operationId":"AgenticAggregateService_DeleteAgenticAggregate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgenticAggregate removes an aggregate record by UUID.","tags":["AgenticAggregateService"],"x-internal":true},"get":{"operationId":"AgenticAggregateService_GetAgenticAggregate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgenticAggregate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgenticAggregate returns a single aggregate record by UUID.","tags":["AgenticAggregateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agentic-inventory":{"get":{"operationId":"AgenticInventoryService_ListAgenticInventory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAgenticInventoryResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAgenticInventory lists agentic inventory records.","tags":["AgenticInventoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agentic-inventory/{uuid}":{"delete":{"operationId":"AgenticInventoryService_DeleteAgenticInventory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAgenticInventory deletes an agentic inventory record by UUID.","tags":["AgenticInventoryService"],"x-internal":true},"get":{"operationId":"AgenticInventoryService_GetAgenticInventory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgenticInventory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAgenticInventory returns an agentic inventory record by UUID.","tags":["AgenticInventoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agents":{"get":{"description":"Returns the agent catalog. V1 returns the global catalog regardless of\nnamespace and applies no server-side filtering, sorting, or pagination;\nonly tenant_meta.namespace is read from the request.","operationId":"AgentCatalogService_ListEndorAgents","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListEndorAgentsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListEndorAgents","tags":["AgentCatalogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/agents/{uuid}":{"get":{"description":"Returns a single agent by uuid. Only uuid and tenant_meta.namespace are\nread from the request; other GetRequest fields are ignored in V1.","operationId":"AgentCatalogService_GetEndorAgent","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorAgent"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetEndorAgent","tags":["AgentCatalogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-credit-metrics":{"get":{"description":"Lists all AICreditMetric visible for root namespace.","operationId":"AICreditMetricService_ListAICreditMetrics","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAICreditMetricsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAICreditMetrics","tags":["AICreditMetricService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-credit-metrics/{uuid}":{"get":{"description":"Fetches an AICreditMetric specified by its UUID.","operationId":"AICreditMetricService_GetAICreditMetric","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AICreditMetric"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAICreditMetric","tags":["AICreditMetricService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-embeddings-requests":{"post":{"description":"Creates an embedding request.","operationId":"AIEmbeddingsRequestService_CreateAIEmbeddingsRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIEmbeddingsRequestServiceCreateAIEmbeddingsRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIEmbeddingsRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAIEmbeddingsRequest","tags":["AIEmbeddingsRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-provider-keys":{"get":{"description":"Lists AI provider keys in a given namespace. Credentials are redacted in\nthe response.","operationId":"AIProviderKeyService_ListAIProviderKeys","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAIProviderKeysResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAIProviderKeys","tags":["AIProviderKeyService"]},"post":{"description":"Creates a new AI provider key in the root namespace of a tenant. The\ncredential is validated, encrypted with a server-side key and stored;\nread APIs never return it.","operationId":"AIProviderKeyService_CreateAIProviderKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIProviderKeyServiceCreateAIProviderKeyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIProviderKey"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAIProviderKey","tags":["AIProviderKeyService"]}},"/v1/namespaces/{tenant_meta.namespace}/ai-provider-keys/{uuid}":{"delete":{"description":"Deletes an AI provider key specified by its UUID.","operationId":"AIProviderKeyService_DeleteAIProviderKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAIProviderKey","tags":["AIProviderKeyService"]},"get":{"description":"Fetches an AI provider key identified by its UUID. The credential is\nredacted in the response.","operationId":"AIProviderKeyService_GetAIProviderKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIProviderKey"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAIProviderKey","tags":["AIProviderKeyService"]}},"/v1/namespaces/{tenant_meta.namespace}/ai-queries":{"post":{"description":"Queries metrics for specific values. It returns back a text response.","operationId":"AIQueryService_CreateAIQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIQueryServiceCreateAIQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAIQuery","tags":["AIQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-requests":{"get":{"description":"Lists all AIRequests visible in a namespace.","operationId":"AIRequestService_ListAIRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAIRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAIRequests","tags":["AIRequestService"],"x-internal":true},"post":{"description":"Creates an AIRequest.","operationId":"AIRequestService_CreateAIRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRequestServiceCreateAIRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAIRequest","tags":["AIRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-requests/{uuid}":{"delete":{"description":"Deletes an AIRequest specified by its UUID.","operationId":"AIRequestService_DeleteAIRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAIRequest","tags":["AIRequestService"],"x-internal":true},"get":{"description":"Fetches an AIRequest specified by its UUID.","operationId":"AIRequestService_GetAIRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AIRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAIRequest","tags":["AIRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-context-summaries":{"get":{"operationId":"AISastContextSummaryService_ListAISastContextSummaries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAISastContextSummariesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAISastContextSummaries lists entries in a namespace; filter on project UUID and scope fields.","tags":["AISastContextSummaryService"],"x-internal":true},"post":{"operationId":"AISastContextSummaryService_CreateAISastContextSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISastContextSummaryServiceCreateAISastContextSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastContextSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAISastContextSummary upserts on project scope or path scope.","tags":["AISastContextSummaryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-context-summaries/{uuid}":{"delete":{"operationId":"AISastContextSummaryService_DeleteAISastContextSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAISastContextSummary deletes an entry by UUID.","tags":["AISastContextSummaryService"],"x-internal":true},"get":{"operationId":"AISastContextSummaryService_GetAISastContextSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastContextSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAISastContextSummary fetches an entry by UUID.","tags":["AISastContextSummaryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-customer-contexts":{"get":{"operationId":"AISastCustomerContextService_ListAISastCustomerContexts","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAISastCustomerContextsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAISastCustomerContexts lists entries in a namespace; filter on parent fields for tenant or project scope.","tags":["AISastCustomerContextService"]},"post":{"operationId":"AISastCustomerContextService_CreateAISastCustomerContext","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISastCustomerContextServiceCreateAISastCustomerContextBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastCustomerContext"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAISastCustomerContext creates a scoped context; namespace scope is carried by tenant_meta.namespace.","tags":["AISastCustomerContextService"]}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-customer-contexts/{uuid}":{"delete":{"operationId":"AISastCustomerContextService_DeleteAISastCustomerContext","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAISastCustomerContext deletes an entry by UUID.","tags":["AISastCustomerContextService"]},"get":{"operationId":"AISastCustomerContextService_GetAISastCustomerContext","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISastCustomerContext"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAISastCustomerContext fetches an entry by UUID.","tags":["AISastCustomerContextService"]}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-scan-caches":{"get":{"description":"Lists AI SAST scan cache entries in a given namespace.","operationId":"AISASTScanCacheService_ListAISASTScanCaches","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAISASTScanCachesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAISASTScanCaches","tags":["AISASTScanCacheService"],"x-internal":true},"post":{"description":"Creates an AI SAST scan cache entry. Upserts if a matching entry\n(same project, repository version, file path, and content hash)\nalready exists, updating the outcome and segments in place.","operationId":"AISASTScanCacheService_CreateAISASTScanCache","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISASTScanCacheServiceCreateAISASTScanCacheBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISASTScanCache"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAISASTScanCache","tags":["AISASTScanCacheService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ai-sast-scan-caches/{uuid}":{"delete":{"description":"Deletes an AI SAST scan cache entry specified by its UUID.","operationId":"AISASTScanCacheService_DeleteAISASTScanCache","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAISASTScanCache","tags":["AISASTScanCacheService"],"x-internal":true},"get":{"description":"Fetches an AI SAST scan cache entry identified by its UUID.","operationId":"AISASTScanCacheService_GetAISASTScanCache","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AISASTScanCache"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAISASTScanCache","tags":["AISASTScanCacheService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/analytics-execution-records":{"get":{"description":"Lists all analytics execution records for a given namespace.","operationId":"AnalyticsExecutionRecordService_ListAnalyticsExecutionRecord","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAnalyticsExecutionRecordResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAnalyticsExecutionRecord","tags":["AnalyticsExecutionRecordService"],"x-internal":true},"post":{"description":"Creates an analytics execution record in a given namespace.","operationId":"AnalyticsExecutionRecordService_CreateAnalyticsExecutionRecord","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsExecutionRecordServiceCreateAnalyticsExecutionRecordBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecord"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAnalyticsExecutionRecord","tags":["AnalyticsExecutionRecordService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/analytics-execution-records/{uuid}":{"get":{"description":"Fetches the analytics execution records for a specified UUID.","operationId":"AnalyticsExecutionRecordService_GetAnalyticsExecutionRecord","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AnalyticsExecutionRecord"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAnalyticsExecutionRecord","tags":["AnalyticsExecutionRecordService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/api-keys":{"get":{"description":"Lists all API keys for a given namespace.","operationId":"APIKeyService_ListAPIKeys","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAPIKeysResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAPIKeys","tags":["APIKeyService"]},"post":{"description":"Creates an API key.","operationId":"APIKeyService_CreateAPIKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyServiceCreateAPIKeyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1APIKey"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAPIKey","tags":["APIKeyService"]}},"/v1/namespaces/{tenant_meta.namespace}/api-keys/{uuid}":{"delete":{"description":"Deletes the API key specified by the UUID.","operationId":"APIKeyService_DeleteAPIKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAPIKey","tags":["APIKeyService"]},"get":{"description":"Fetches the API key dentified by the UUID.","operationId":"APIKeyService_GetAPIKey","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1APIKey"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAPIKey","tags":["APIKeyService"]}},"/v1/namespaces/{tenant_meta.namespace}/approve-service-requests":{"get":{"description":"Lists all approve service requests in a namespace.","operationId":"ApproveServiceRequestService_ListApproveServiceRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListApproveServiceRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListApproveServiceRequests","tags":["ApproveServiceRequestService"],"x-internal":true},"post":{"description":"Creates an approve service request.","operationId":"ApproveServiceRequestService_CreateApproveServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveServiceRequestServiceCreateApproveServiceRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ApproveServiceRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateApproveServiceRequest","tags":["ApproveServiceRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/approve-service-requests/{uuid}":{"delete":{"description":"Deletes an approve service request specified by its UUID.","operationId":"ApproveServiceRequestService_DeleteApproveServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteApproveServiceRequest","tags":["ApproveServiceRequestService"],"x-internal":true},"get":{"description":"Fetches an approve service request specified by its UUID.","operationId":"ApproveServiceRequestService_GetApproveServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ApproveServiceRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetApproveServiceRequest","tags":["ApproveServiceRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/artifact-logs":{"get":{"description":"Returns a list of artifact logs based on the specified list parameters.","operationId":"ArtifactLogService_ListArtifactLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListArtifactLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListArtifactLogs","tags":["ArtifactLogService"],"x-internal":true},"post":{"description":"Creates a artifact log.","operationId":"ArtifactLogService_CreateArtifactLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactLogServiceCreateArtifactLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateArtifactLog","tags":["ArtifactLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/artifact-logs/{uuid}":{"delete":{"description":"Deletes a artifact log specified by its UUID.","operationId":"ArtifactLogService_DeleteArtifactLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteArtifactLog","tags":["ArtifactLogService"],"x-internal":true},"get":{"description":"Returns a specified artifact log.","operationId":"ArtifactLogService_GetArtifactLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetArtifactLog","tags":["ArtifactLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/artifact-operations":{"post":{"description":"Services the artifact operations.","operationId":"ArtifactOperationService_CreateArtifactOperation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactOperationServiceCreateArtifactOperationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactOperation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateArtifactOperation","tags":["ArtifactOperationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/artifact-signatures":{"get":{"description":"Lists all artifact signatures.","operationId":"ArtifactSignatureService_ListArtifactSignatures","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListArtifactSignaturesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListArtifactSignatures","tags":["ArtifactSignatureService"]},"post":{"description":"Creates a new artifact signature.","operationId":"ArtifactSignatureService_CreateArtifactSignature","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactSignatureServiceCreateArtifactSignatureBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactSignature"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateArtifactSignature","tags":["ArtifactSignatureService"]}},"/v1/namespaces/{tenant_meta.namespace}/artifact-signatures/{uuid}":{"get":{"description":"Fetches an artifact signature identified by the UUID.","operationId":"ArtifactSignatureService_GetArtifactSignature","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ArtifactSignature"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetArtifactSignature","tags":["ArtifactSignatureService"]}},"/v1/namespaces/{tenant_meta.namespace}/assured-package-versions":{"get":{"description":"Lists all assured package versions in a given namespace","operationId":"AssuredPackageVersionService_ListAssuredPackageVersions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAssuredPackageVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAssuredPackageVersions","tags":["AssuredPackageVersionService"],"x-internal":true},"post":{"description":"Creates an assured package version in a given namespace.","operationId":"AssuredPackageVersionService_CreateAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssuredPackageVersionServiceCreateAssuredPackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAssuredPackageVersion","tags":["AssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/assured-package-versions/{uuid}":{"delete":{"description":"Deletes an assured package version specified by its UUID.","operationId":"AssuredPackageVersionService_DeleteAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAssuredPackageVersion","tags":["AssuredPackageVersionService"],"x-internal":true},"get":{"description":"Fetches the assured package version identified by the UUID.","operationId":"AssuredPackageVersionService_GetAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAssuredPackageVersion","tags":["AssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/async-jobs":{"post":{"description":"Initiates asynchronous execution of a job. Returns immediately with the job\nUUID and state=JOB_STATE_NEW; poll GetAsyncJob to track progress.","operationId":"AsyncJobService_CreateAsyncJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncJobServiceCreateAsyncJobBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AsyncJob"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAsyncJob","tags":["AsyncJobService"]}},"/v1/namespaces/{tenant_meta.namespace}/async-jobs/{uuid}":{"get":{"description":"Fetches an async job by UUID. When state = JOB_STATE_SUCCESS, spec.response\ncarries the type-specific arm (sbom or vex) with a freshly signed download\nURL (5-minute TTL) and the stable object-store file_path.","operationId":"AsyncJobService_GetAsyncJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AsyncJob"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAsyncJob","tags":["AsyncJobService"]}},"/v1/namespaces/{tenant_meta.namespace}/audit-logs":{"get":{"description":"List all audit logs in a given namespace.","operationId":"AuditLogService_ListAuditLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAuditLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAuditLogs","tags":["AuditLogService"]},"post":{"description":"Creates an audit log for a given object.","operationId":"AuditLogService_CreateAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogServiceCreateAuditLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuditLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAuditLog","tags":["AuditLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/audit-logs/archived":{"get":{"description":"List all archived audit logs in a given namespace.","operationId":"ArchivedAuditLogService_ListArchivedAuditLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAuditLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListArchivedAuditLogs","tags":["ArchivedAuditLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/audit-logs/{uuid}":{"delete":{"description":"Deletes an audit log specified by its UUID.","operationId":"AuditLogService_DeleteAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAuditLog","tags":["AuditLogService"],"x-internal":true},"get":{"description":"Fetches an audit log identified by the UUID.","operationId":"AuditLogService_GetAuditLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuditLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAuditLog","tags":["AuditLogService"]}},"/v1/namespaces/{tenant_meta.namespace}/authentication-logs":{"get":{"description":"Lists all authentication logs in a given namespace.","operationId":"AuthenticationLogService_ListAuthenticationLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAuthenticationLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAuthenticationLogs","tags":["AuthenticationLogService"]},"post":{"description":"Creates an authentication log for a given object.","operationId":"AuthenticationLogService_CreateAuthenticationLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationLogServiceCreateAuthenticationLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthenticationLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAuthenticationLog","tags":["AuthenticationLogService"]}},"/v1/namespaces/{tenant_meta.namespace}/authentication-logs/{uuid}":{"delete":{"description":"Deletes the authentication log specified by its UUID.","operationId":"AuthenticationLogService_DeleteAuthenticationLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAuthenticationLog","tags":["AuthenticationLogService"]},"get":{"description":"Fetches the authentication log identified by the UUID.","operationId":"AuthenticationLogService_GetAuthenticationLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthenticationLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAuthenticationLog","tags":["AuthenticationLogService"]}},"/v1/namespaces/{tenant_meta.namespace}/authorization-policies":{"get":{"description":"Lists all authorization policies for a given tenant.","operationId":"AuthorizationPolicyService_ListAuthorizationPolicies","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListAuthorizationPoliciesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListAuthorizationPolicies","tags":["AuthorizationPolicyService"]},"post":{"description":"Creates an authorization policy for a given tenant.","operationId":"AuthorizationPolicyService_CreateAuthorizationPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizationPolicyServiceCreateAuthorizationPolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthorizationPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAuthorizationPolicy","tags":["AuthorizationPolicyService"]}},"/v1/namespaces/{tenant_meta.namespace}/authorization-policies/{uuid}":{"delete":{"description":"Deletes an authorization policy specified by its UUID.","operationId":"AuthorizationPolicyService_DeleteAuthorizationPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteAuthorizationPolicy","tags":["AuthorizationPolicyService"]},"get":{"description":"Fetches an authorization policy specified by its UUID.","operationId":"AuthorizationPolicyService_GetAuthorizationPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AuthorizationPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetAuthorizationPolicy","tags":["AuthorizationPolicyService"]}},"/v1/namespaces/{tenant_meta.namespace}/batch/dependency-metadata":{"post":{"description":"Create multiple dependency metadata objects through a batch API call.","operationId":"BatchDependencyMetadataService_CreateBatchDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDependencyMetadataServiceCreateBatchDependencyMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1BatchDependencyMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateBatchDependencyMetadata","tags":["BatchDependencyMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/batch/file-segments":{"post":{"description":"Create multiple file segment objects through a batch API call.","operationId":"BatchFileSegmentsService_CreateBatchFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchFileSegmentsServiceCreateBatchFileSegmentsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1BatchFileSegments"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateBatchFileSegments","tags":["BatchFileSegmentsService"]}},"/v1/namespaces/{tenant_meta.namespace}/batch/notifications":{"post":{"description":"Create multiple notification objects through a batch API call.","operationId":"BatchNotificationService_CreateBatchNotification","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchNotificationServiceCreateBatchNotificationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1BatchNotification"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateBatchNotification","tags":["BatchNotificationService"]}},"/v1/namespaces/{tenant_meta.namespace}/call-graph-data":{"get":{"description":"Lists all call graph data in a namespace.","operationId":"CallGraphDataService_ListCallGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListCallGraphDataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListCallGraphData","tags":["CallGraphDataService"],"x-internal":false},"post":{"description":"Creates a call graph. The object must\nprovide a parent ID that is the associated package version\nthat this call graph belongs to. A create operation will replace\nany previous data and is considered an upsert.","operationId":"CallGraphDataService_CreateCallGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallGraphDataServiceCreateCallGraphDataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CallGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateCallGraphData","tags":["CallGraphDataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/call-graph-data/{uuid}":{"delete":{"description":"Deletes a call graph for the given package version that\nis captured in the parent UUID.","operationId":"CallGraphDataService_DeleteCallGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteCallGraphData","tags":["CallGraphDataService"],"x-internal":true},"get":{"description":"Fetches the call graph for a given package version that is\ncaptured in the parent UUID.","operationId":"CallGraphDataService_GetCallGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CallGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetCallGraphData","tags":["CallGraphDataService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/certificate-requests":{"post":{"description":"Creates a new certificate from the provided certificate request.","operationId":"CertificateRequestService_CreateCertificate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateRequestServiceCreateCertificateBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CertificateRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateCertificate","tags":["CertificateRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ci-runs":{"get":{"description":"Lists all CI runs in a namespace.","operationId":"CIRunService_ListCIRuns","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListCIRunsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListCIRuns","tags":["CIRunService"],"x-internal":true},"post":{"description":"Creates a CI run.","operationId":"CIRunService_CreateCIRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CIRunServiceCreateCIRunBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CIRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateCIRun","tags":["CIRunService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ci-runs/{uuid}":{"delete":{"description":"Deletes a CI run specified by its UUID.","operationId":"CIRunService_DeleteCIRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteCIRun","tags":["CIRunService"],"x-internal":true},"get":{"description":"Fetches a CI run specified by its UUID.","operationId":"CIRunService_GetCIRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CIRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetCIRun","tags":["CIRunService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/client-logs":{"post":{"description":"Creates a client log for a given object.","operationId":"ClientLogService_CreateClientLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientLogServiceCreateClientLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ClientLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateClientLog","tags":["ClientLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/codeowners":{"get":{"description":"Lists all CodeOwners objects in a namespace.","operationId":"CodeOwnersService_ListCodeOwners","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListCodeOwnersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListCodeOwners","tags":["CodeOwnersService"],"x-internal":false},"post":{"description":"Creates a CodeOwners object.","operationId":"CodeOwnersService_CreateCodeOwners","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeOwnersServiceCreateCodeOwnersBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CodeOwners"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateCodeOwners","tags":["CodeOwnersService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/codeowners/{uuid}":{"delete":{"description":"Deletes the CodeOwners object specified by the UUID.","operationId":"CodeOwnersService_DeleteCodeOwners","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteCodeOwners","tags":["CodeOwnersService"],"x-internal":true},"get":{"description":"Fetches the CodeOwners object identified by the UUID.","operationId":"CodeOwnersService_GetCodeOwners","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CodeOwners"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetCodeOwners","tags":["CodeOwnersService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/compliance-enrollments":{"get":{"description":"Lists ComplianceEnrollments in a namespace. Access Keys are redacted in the\nresponse.","operationId":"ComplianceEnrollmentService_ListComplianceEnrollments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListComplianceEnrollmentsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListComplianceEnrollments","tags":["ComplianceEnrollmentService"],"x-internal":true},"post":{"description":"Creates a ComplianceEnrollment. The Access Key is validated against the\nCompliance API before it is stored, encrypted with a server-side key, and\nnever returned to clients.","operationId":"ComplianceEnrollmentService_CreateComplianceEnrollment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceEnrollmentServiceCreateComplianceEnrollmentBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ComplianceEnrollment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateComplianceEnrollment","tags":["ComplianceEnrollmentService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/compliance-enrollments/{uuid}":{"delete":{"description":"Deletes a ComplianceEnrollment specified by its UUID. The next directory\nsync purges the tenant's directory entries.","operationId":"ComplianceEnrollmentService_DeleteComplianceEnrollment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteComplianceEnrollment","tags":["ComplianceEnrollmentService"],"x-internal":true},"get":{"description":"Fetches a ComplianceEnrollment specified by its UUID. The Access Key is\nredacted in the response.","operationId":"ComplianceEnrollmentService_GetComplianceEnrollment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ComplianceEnrollment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetComplianceEnrollment","tags":["ComplianceEnrollmentService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributor-history":{"get":{"description":"Lists contributor history records in the given namespace.","operationId":"ContributorHistoryService_ListContributorHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListContributorHistoryResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListContributorHistory","tags":["ContributorHistoryService"],"x-internal":true},"post":{"description":"Creates a contributor history snapshot record.","operationId":"ContributorHistoryService_CreateContributorHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContributorHistoryServiceCreateContributorHistoryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorHistory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContributorHistory","tags":["ContributorHistoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributor-history/{uuid}":{"delete":{"description":"Deletes a contributor history record specified by its UUID.","operationId":"ContributorHistoryService_DeleteContributorHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteContributorHistory","tags":["ContributorHistoryService"],"x-internal":true},"get":{"description":"Fetches a contributor history record identified by its UUID.","operationId":"ContributorHistoryService_GetContributorHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorHistory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetContributorHistory","tags":["ContributorHistoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributor-identity-mappings":{"get":{"operationId":"ContributorIdentityMappingService_ListContributorIdentityMappings","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListContributorIdentityMappingsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListContributorIdentityMappings lists mappings in the namespace.\nUse a list filter on spec.associated_emails (e.g. contains) to find every GitHub identity that lists a given email.","tags":["ContributorIdentityMappingService"],"x-internal":true},"post":{"operationId":"ContributorIdentityMappingService_CreateContributorIdentityMapping","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContributorIdentityMappingServiceCreateContributorIdentityMappingBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorIdentityMapping"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContributorIdentityMapping upserts a mapping keyed by tenant namespace and spec.login.","tags":["ContributorIdentityMappingService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributor-identity-mappings/{uuid}":{"delete":{"operationId":"ContributorIdentityMappingService_DeleteContributorIdentityMapping","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteContributorIdentityMapping deletes a mapping by UUID.","tags":["ContributorIdentityMappingService"],"x-internal":true},"get":{"operationId":"ContributorIdentityMappingService_GetContributorIdentityMapping","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContributorIdentityMapping"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetContributorIdentityMapping fetches a mapping by UUID.","tags":["ContributorIdentityMappingService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributors":{"get":{"description":"Lists contributor records in the given namespace.","operationId":"ContributorService_ListContributors","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListContributorsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListContributors","tags":["ContributorService"],"x-internal":true},"post":{"description":"Upserts a contributor record.","operationId":"ContributorService_CreateContributor","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContributorServiceCreateContributorBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Contributor"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContributor","tags":["ContributorService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/contributors/{uuid}":{"get":{"description":"Fetches a contributor record identified by its UUID.","operationId":"ContributorService_GetContributor","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Contributor"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetContributor","tags":["ContributorService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/dashboard-config":{"get":{"description":"Lists all dashboard configuration objects.","operationId":"DashboardConfigService_ListDashboardConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListDashboardConfigResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDashboardConfig","tags":["DashboardConfigService"],"x-internal":true},"post":{"description":"Creates a dashboard configuration object.","operationId":"DashboardConfigService_CreateDashboardConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardConfigServiceCreateDashboardConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DashboardConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDashboardConfig","tags":["DashboardConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/dashboard-config/{uuid}":{"delete":{"description":"Deletes a specified dashboard configuration.","operationId":"DashboardConfigService_DeleteDashboardConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteDashboardConfig","tags":["DashboardConfigService"],"x-internal":true},"get":{"description":"Fetches a specified dashboard configuration.","operationId":"DashboardConfigService_GetDashboardConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DashboardConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDashboardConfig","tags":["DashboardConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/demos":{"get":{"description":"Lists all namespaces in a tenant.","operationId":"DemoService_ListDemos","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListDemosResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDemos","tags":["DemoService"],"x-internal":true},"post":{"description":"Creates a namespace.","operationId":"DemoService_CreateDemo","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoServiceCreateDemoBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Demo"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDemo","tags":["DemoService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/demos/{uuid}":{"delete":{"description":"Deletes a provided namespace based on its UUID.","operationId":"DemoService_DeleteDemo","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteDemo","tags":["DemoService"],"x-internal":true},"get":{"description":"Returns a provided namespace based on its UUID.","operationId":"DemoService_GetDemo","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Demo"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Hide the API from API docs. This is internal only service.\nGetDemo","tags":["DemoService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/dependency-metadata":{"get":{"description":"List dependency metadata objects based on the specified list\nparameters.","operationId":"DependencyMetadataService_ListDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListDependencyMetadataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDependencyMetadata","tags":["DependencyMetadataService"],"x-internal":false},"post":{"description":"Creates a dependency metadata object.","operationId":"DependencyMetadataService_CreateDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyMetadataServiceCreateDependencyMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DependencyMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDependencyMetadata","tags":["DependencyMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/dependency-metadata/{uuid}":{"delete":{"description":"Delete a specified dependency metadata object.","operationId":"DependencyMetadataService_DeleteDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteDependencyMetadata","tags":["DependencyMetadataService"],"x-internal":true},"get":{"description":"Returns a specified dependency metadata object.","operationId":"DependencyMetadataService_GetDependencyMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DependencyMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDependencyMetadata","tags":["DependencyMetadataService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/depsdev-packages":{"get":{"description":"List DepsDevPackage objects based on the specified list parameters.","operationId":"DepsDevPackageService_ListDepsDevPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListDepsDevPackageResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDepsDevPackage","tags":["DepsDevPackageService"],"x-internal":true},"post":{"description":"Creates a DepsDevPackage object.","operationId":"DepsDevPackageService_CreateDepsDevPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepsDevPackageServiceCreateDepsDevPackageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DepsDevPackage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDepsDevPackage","tags":["DepsDevPackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/depsdev-packages/{uuid}":{"delete":{"description":"Delete a specified DepsDevPackage object.","operationId":"DepsDevPackageService_DeleteDepsDevPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteDepsDevPackage","tags":["DepsDevPackageService"],"x-internal":true},"get":{"description":"Returns a specified DepsDevPackage object.","operationId":"DepsDevPackageService_GetDepsDevPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DepsDevPackage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDepsDevPackage","tags":["DepsDevPackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/distinct-entries":{"get":{"operationId":"DistinctEntryService_ListDistinctEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListDistinctEntryResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDistinctEntry lists distinct tracking records.","tags":["DistinctEntryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/distinct-entries/{uuid}":{"delete":{"operationId":"DistinctEntryService_DeleteDistinctEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteDistinctEntry deletes a distinct tracking record by UUID.","tags":["DistinctEntryService"],"x-internal":true},"get":{"operationId":"DistinctEntryService_GetDistinctEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DistinctEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDistinctEntry returns a distinct tracking record by UUID.","tags":["DistinctEntryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/endor-ignore-entries":{"get":{"description":"Lists all EndorIgnoreEntry objects in a namespace.","operationId":"EndorIgnoreEntryService_ListEndorIgnoreEntries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListEndorIgnoreEntriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListEndorIgnoreEntries","tags":["EndorIgnoreEntryService"]},"post":{"description":"Creates an EndorIgnoreEntry object.","operationId":"EndorIgnoreEntryService_CreateEndorIgnoreEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndorIgnoreEntryServiceCreateEndorIgnoreEntryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorIgnoreEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateEndorIgnoreEntry","tags":["EndorIgnoreEntryService"]}},"/v1/namespaces/{tenant_meta.namespace}/endor-ignore-entries/{uuid}":{"delete":{"description":"Deletes the EndorIgnoreEntry object identified by the UUID.","operationId":"EndorIgnoreEntryService_DeleteEndorIgnoreEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteEndorIgnoreEntry","tags":["EndorIgnoreEntryService"]},"get":{"description":"Fetches the EndorIgnoreEntry object identified by the UUID.","operationId":"EndorIgnoreEntryService_GetEndorIgnoreEntry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorIgnoreEntry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetEndorIgnoreEntry","tags":["EndorIgnoreEntryService"]}},"/v1/namespaces/{tenant_meta.namespace}/endor-licenses":{"get":{"description":"Lists all Endor Labs licenses in a namespace.","operationId":"EndorLicenseService_ListEndorLicenses","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListEndorLicensesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListEndorLicenses","tags":["EndorLicenseService"],"x-internal":true},"post":{"description":"Creates an Endor Labs license.","operationId":"EndorLicenseService_CreateEndorLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndorLicenseServiceCreateEndorLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateEndorLicense","tags":["EndorLicenseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/endor-licenses/{uuid}":{"delete":{"description":"Deletes an Endor Labs license specified by its UUID.","operationId":"EndorLicenseService_DeleteEndorLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteEndorLicense","tags":["EndorLicenseService"],"x-internal":true},"get":{"description":"Fetches an Endor Labs license specified by its UUID.","operationId":"EndorLicenseService_GetEndorLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EndorLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetEndorLicense","tags":["EndorLicenseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/error-parsing-rules":{"get":{"description":"Lists all error parsing rules in the given namespace.","operationId":"ErrorParsingRuleService_ListErrorParsingRules","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListErrorParsingRulesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListErrorParsingRules","tags":["ErrorParsingRuleService"],"x-internal":true},"post":{"description":"Creates an error parsing rule.","operationId":"ErrorParsingRuleService_CreateErrorParsingRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorParsingRuleServiceCreateErrorParsingRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ErrorParsingRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateErrorParsingRule","tags":["ErrorParsingRuleService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/error-parsing-rules/{uuid}":{"delete":{"description":"Deletes an error parsing rule specified by the UUID.","operationId":"ErrorParsingRuleService_DeleteErrorParsingRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteErrorParsingRule","tags":["ErrorParsingRuleService"],"x-internal":true},"get":{"description":"Fetches an error parsing rule identified by the UUID.","operationId":"ErrorParsingRuleService_GetErrorParsingRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ErrorParsingRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetErrorParsingRule","tags":["ErrorParsingRuleService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/evaluation-methods":{"get":{"description":"Lists all evaluation methods.","operationId":"EvaluationMethodService_ListEvaluationMethods","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListEvaluationMethodsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListEvaluationMethods","tags":["EvaluationMethodService"],"x-internal":true},"post":{"description":"Creates an evaluation method.","operationId":"EvaluationMethodService_CreateEvaluationMethod","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationMethodServiceCreateEvaluationMethodBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationMethod"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateEvaluationMethod","tags":["EvaluationMethodService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/evaluation-methods/{uuid}":{"delete":{"description":"Deletes the evaluation method specified by the UUID.","operationId":"EvaluationMethodService_DeleteEvaluationMethod","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteEvaluationMethod","tags":["EvaluationMethodService"],"x-internal":true},"get":{"description":"Fetches the evaluation method identified by the UUID.","operationId":"EvaluationMethodService_GetEvaluationMethod","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationMethod"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetEvaluationMethod","tags":["EvaluationMethodService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/evaluation-parameters":{"get":{"description":"Lists all evaluation parameters.","operationId":"EvaluationParameterService_ListEvaluationParameters","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListEvaluationParametersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListEvaluationParameters","tags":["EvaluationParameterService"],"x-internal":true},"post":{"description":"Creates a evaluation parameter.","operationId":"EvaluationParameterService_CreateEvaluationParameter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationParameterServiceCreateEvaluationParameterBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationParameter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateEvaluationParameter","tags":["EvaluationParameterService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/evaluation-parameters/{uuid}":{"delete":{"description":"Deletes the evaluation parameter specified by the UUID.","operationId":"EvaluationParameterService_DeleteEvaluationParameter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteEvaluationParameter","tags":["EvaluationParameterService"],"x-internal":true},"get":{"description":"Fetches the evaluation parameter identified by the UUID.","operationId":"EvaluationParameterService_GetEvaluationParameter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1EvaluationParameter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetEvaluationParameter","tags":["EvaluationParameterService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/exporters":{"get":{"description":"Lists all exporters.","operationId":"ExporterService_ListExporters","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListExportersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExporters","tags":["ExporterService"]},"post":{"description":"Creates a exporter.","operationId":"ExporterService_CreateExporter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExporterServiceCreateExporterBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Exporter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateExporter","tags":["ExporterService"]}},"/v1/namespaces/{tenant_meta.namespace}/exporters/{uuid}":{"delete":{"description":"Deletes the exporter specified by the UUID.","operationId":"ExporterService_DeleteExporter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteExporter","tags":["ExporterService"]},"get":{"description":"Fetches the exporter identified by the UUID.","operationId":"ExporterService_GetExporter","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Exporter"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetExporter","tags":["ExporterService"]}},"/v1/namespaces/{tenant_meta.namespace}/external-provider-models":{"get":{"description":"Lists all external provider models in a given namespace.","operationId":"ExternalProviderModelService_ListExternalProviderModels","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListExternalProviderModelsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExternalProviderModels","tags":["ExternalProviderModelService"],"x-internal":true},"post":{"description":"Creates an external provider model.","operationId":"ExternalProviderModelService_CreateExternalProviderModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalProviderModelServiceCreateExternalProviderModelBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ExternalProviderModel"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateExternalProviderModel","tags":["ExternalProviderModelService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/external-provider-models/{uuid}":{"delete":{"description":"Deletes a specified external provider model specified by the UUID.","operationId":"ExternalProviderModelService_DeleteExternalProviderModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteExternalProviderModel","tags":["ExternalProviderModelService"],"x-internal":true},"get":{"description":"Fetches the external provider model specified by the UUID.","operationId":"ExternalProviderModelService_GetExternalProviderModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ExternalProviderModel"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetExternalProviderModel","tags":["ExternalProviderModelService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/feedbacks":{"get":{"description":"Lists the feedbacks in a given namespace.","operationId":"FeedbackService_ListFeedbacks","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFeedbacksResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFeedbacks","tags":["FeedbackService"],"x-internal":true},"post":{"description":"Creates a feedback.","operationId":"FeedbackService_CreateFeedback","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackServiceCreateFeedbackBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Feedback"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFeedback","tags":["FeedbackService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/feedbacks/{uuid}":{"delete":{"description":"Deletes a feedback specified by its UUID.","operationId":"FeedbackService_DeleteFeedback","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFeedback","tags":["FeedbackService"],"x-internal":true},"get":{"description":"Fetches a feedback identified by a given UUID.","operationId":"FeedbackService_GetFeedback","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Feedback"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFeedback","tags":["FeedbackService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/file-segments":{"get":{"description":"List file segment objects based on the specified list parameters.","operationId":"FileSegmentsService_ListFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFileSegmentsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFileSegments","tags":["FileSegmentsService"],"x-internal":true},"post":{"description":"Creates a file segment object.","operationId":"FileSegmentsService_CreateFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSegmentsServiceCreateFileSegmentsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FileSegments"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFileSegments","tags":["FileSegmentsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/file-segments/{uuid}":{"delete":{"description":"Delete a specified file segment object.","operationId":"FileSegmentsService_DeleteFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFileSegments","tags":["FileSegmentsService"],"x-internal":true},"get":{"description":"Return a specified file segment object.","operationId":"FileSegmentsService_GetFileSegments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FileSegments"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFileSegments","tags":["FileSegmentsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/filehash-query-request":{"post":{"description":"Creates a file hash query request.","operationId":"FileHashQueryRequestService_CreateFileHashQueryRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileHashQueryRequestServiceCreateFileHashQueryRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FileHashQueryRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFileHashQueryRequest","tags":["FileHashQueryRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/finding-log-aggregates":{"get":{"description":"Returns a list of finding log aggregates based on the specified list parameters.","operationId":"FindingLogAggregateService_ListFindingLogAggregates","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFindingLogAggregateResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFindingLogAggregates","tags":["FindingLogAggregateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/finding-log-aggregates/{uuid}":{"delete":{"description":"Deletes a finding log aggregate specified by its UUID.","operationId":"FindingLogAggregateService_DeleteFindingLogAggregate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFindingLogAggregate","tags":["FindingLogAggregateService"],"x-internal":true},"get":{"description":"Returns a specified finding log aggregate.","operationId":"FindingLogAggregateService_GetFindingLogAggregate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FindingLogAggregate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFindingLogAggregate","tags":["FindingLogAggregateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/finding-logs":{"get":{"description":"Returns a list of finding logs based on the specified list parameters.","operationId":"FindingLogService_ListFindingLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFindingLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFindingLogs","tags":["FindingLogService"],"x-internal":false},"post":{"description":"Creates a finding log.","operationId":"FindingLogService_CreateFindingLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingLogServiceCreateFindingLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FindingLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFindingLog","tags":["FindingLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/finding-logs/{uuid}":{"delete":{"description":"Deletes a finding log specified by its UUID.","operationId":"FindingLogService_DeleteFindingLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFindingLog","tags":["FindingLogService"],"x-internal":true},"get":{"description":"Returns a specified finding log.","operationId":"FindingLogService_GetFindingLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FindingLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFindingLog","tags":["FindingLogService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/findings":{"get":{"description":"List findings based on the specified list parameters.","operationId":"FindingService_ListFindings","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFindingsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFindings","tags":["FindingService"],"x-internal":false},"post":{"description":"Create a finding.","operationId":"FindingService_CreateFinding","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingServiceCreateFindingBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Finding"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFinding","tags":["FindingService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/findings/{uuid}":{"delete":{"description":"Delete the finding specified by the UUID.","operationId":"FindingService_DeleteFinding","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFinding","tags":["FindingService"],"x-internal":false},"get":{"description":"Fetch the finding identified by the UUID.","operationId":"FindingService_GetFinding","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Finding"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFinding","tags":["FindingService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/function-graph-data":{"get":{"description":"Lists all function graph data in a namespace.","operationId":"FunctionGraphDataService_ListFunctionGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListFunctionGraphDataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListFunctionGraphData","tags":["FunctionGraphDataService"],"x-internal":true},"post":{"description":"Creates a function graph. The object must\nprovide a parent ID that is the associated package version\nto which the function graph belongs. A create operation will replace\nany previous data and is considered an upsert.","operationId":"FunctionGraphDataService_CreateFunctionGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionGraphDataServiceCreateFunctionGraphDataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FunctionGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFunctionGraphData","tags":["FunctionGraphDataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/function-graph-data/{uuid}":{"delete":{"description":"Deletes a function graph for the given package version that is captured in the parent_uuid.","operationId":"FunctionGraphDataService_DeleteFunctionGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteFunctionGraphData","tags":["FunctionGraphDataService"],"x-internal":true},"get":{"description":"Fetches the function graph for a given package version that is captured in the parent_uuid.","operationId":"FunctionGraphDataService_GetFunctionGraphData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FunctionGraphData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetFunctionGraphData","tags":["FunctionGraphDataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ghe-app-registration":{"post":{"description":"Creates a GHE app registration link to register the app in the GHE instance.","operationId":"GHEAppRegistrationService_CreateGHEAppRegistration","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GHEAppRegistrationServiceCreateGHEAppRegistrationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GHEAppRegistration"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateGHEAppRegistration","tags":["GHEAppRegistrationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/hugging-face-models":{"get":{"description":"Lists all HuggingFace models in a given namespace.","operationId":"HuggingFaceModelService_ListHuggingFaceModels","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListHuggingFaceModelsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListHuggingFaceModels","tags":["HuggingFaceModelService"],"x-internal":false},"post":{"description":"Creates a HuggingFace model.","operationId":"HuggingFaceModelService_CreateHuggingFaceModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HuggingFaceModelServiceCreateHuggingFaceModelBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1HuggingFaceModel"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateHuggingFaceModel","tags":["HuggingFaceModelService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/hugging-face-models/{uuid}":{"delete":{"description":"Deletes a specified HuggingFace model specified by the UUID.","operationId":"HuggingFaceModelService_DeleteHuggingFaceModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteHuggingFaceModel","tags":["HuggingFaceModelService"],"x-internal":true},"get":{"description":"Fetches the HuggingFace model specified by the UUID.","operationId":"HuggingFaceModelService_GetHuggingFaceModel","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1HuggingFaceModel"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetHuggingFaceModel","tags":["HuggingFaceModelService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/hugging-face-organizations":{"get":{"description":"Lists all HuggingFace organizations in a given namespace.","operationId":"HuggingFaceOrganizationService_ListHuggingFaceOrganizations","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListHuggingFaceOrganizationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListHuggingFaceOrganizations","tags":["HuggingFaceOrganizationService"],"x-internal":false},"post":{"description":"Creates a HuggingFace organization.","operationId":"HuggingFaceOrganizationService_CreateHuggingFaceOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HuggingFaceOrganizationServiceCreateHuggingFaceOrganizationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1HuggingFaceOrganization"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateHuggingFaceOrganization","tags":["HuggingFaceOrganizationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/hugging-face-organizations/{uuid}":{"delete":{"description":"Deletes a specified HuggingFace organization.","operationId":"HuggingFaceOrganizationService_DeleteHuggingFaceOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteHuggingFaceOrganization","tags":["HuggingFaceOrganizationService"],"x-internal":true},"get":{"description":"Fetches the HuggingFace organization specified by the UUID.","operationId":"HuggingFaceOrganizationService_GetHuggingFaceOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1HuggingFaceOrganization"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetHuggingFaceOrganization","tags":["HuggingFaceOrganizationService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/identity-providers":{"get":{"description":"Lists all identity providers.","operationId":"IdentityProviderService_ListIdentityProviders","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListIdentityProvidersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListIdentityProviders","tags":["IdentityProviderService"]},"post":{"description":"Creates an identity provider.","operationId":"IdentityProviderService_CreateIdentityProvider","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityProviderServiceCreateIdentityProviderBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IdentityProvider"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateIdentityProvider","tags":["IdentityProviderService"]}},"/v1/namespaces/{tenant_meta.namespace}/identity-providers/{uuid}":{"delete":{"description":"Deletes the identity provider specified by the UUID.","operationId":"IdentityProviderService_DeleteIdentityProvider","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteIdentityProvider","tags":["IdentityProviderService"]},"get":{"description":"Fetches the identity provider specified by the UUID.","operationId":"IdentityProviderService_GetIdentityProvider","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IdentityProvider"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetIdentityProvider","tags":["IdentityProviderService"]}},"/v1/namespaces/{tenant_meta.namespace}/ingestion-state":{"get":{"operationId":"IngestionStateService_ListIngestionState","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListIngestionStateResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListIngestionState returns the ingestion state as a list.","tags":["IngestionStateService"],"x-internal":true},"post":{"operationId":"IngestionStateService_CreateIngestionState","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestionStateServiceCreateIngestionStateBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IngestionState"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateIngestionState creates an ingestion state.","tags":["IngestionStateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ingestion-state/{uuid}":{"get":{"operationId":"IngestionStateService_GetIngestionState","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IngestionState"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetIngestionState fetches the ingestion state specified by the UUID.","tags":["IngestionStateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/installations":{"get":{"description":"Lists all installations.","operationId":"InstallationService_ListInstallations","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListInstallationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListInstallations","tags":["InstallationService"]},"post":{"description":"creates a installation.\nThe creation of the resource will be an upsert if the given\nspec.external_id and spec.platform_resource were already created.","operationId":"InstallationService_CreateInstallation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallationServiceCreateInstallationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Installation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateInstallation","tags":["InstallationService"]}},"/v1/namespaces/{tenant_meta.namespace}/installations/{uuid}":{"delete":{"description":"Deletes an installation specified by the UUID.","operationId":"InstallationService_DeleteInstallation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteInstallation","tags":["InstallationService"]},"get":{"description":"Fetches an installation identified by the UUID.","operationId":"InstallationService_GetInstallation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Installation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetInstallation","tags":["InstallationService"]}},"/v1/namespaces/{tenant_meta.namespace}/invitations":{"get":{"description":"Lists the invitations in a namespace.","operationId":"InvitationService_ListInvitations","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListInvitationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListInvitations","tags":["InvitationService"],"x-internal":false},"post":{"description":"Creates an invitation.","operationId":"InvitationService_CreateInvitation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationServiceCreateInvitationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Invitation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateInvitation","tags":["InvitationService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/invitations/{uuid}":{"delete":{"description":"Deletes the invitation specified by the UUID","operationId":"InvitationService_DeleteInvitation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteInvitation","tags":["InvitationService"],"x-internal":false},"get":{"description":"Fetches the invitation identified by the UUID.","operationId":"InvitationService_GetInvitation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Invitation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetInvitation","tags":["InvitationService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/ip-address-policies":{"get":{"description":"Returns a list of finding logs based on the specified list parameters.","operationId":"IPAddressPolicyService_ListIPAddressPolicies","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListIPAddressPoliciesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListIPAddresssPolicies","tags":["IPAddressPolicyService"],"x-internal":false},"post":{"description":"Creates a finding log.","operationId":"IPAddressPolicyService_CreateIPAddressPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAddressPolicyServiceCreateIPAddressPolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IPAddressPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateIPAddressPolicy","tags":["IPAddressPolicyService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/ip-address-policies/{uuid}":{"delete":{"description":"Deletes a finding log specified by its UUID.","operationId":"IPAddressPolicyService_DeleteIPAddressPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteIPAddressPolicy","tags":["IPAddressPolicyService"],"x-internal":true},"get":{"description":"Returns a specified finding log.","operationId":"IPAddressPolicyService_GetIPAddressPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1IPAddressPolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetIPAddressPolicy","tags":["IPAddressPolicyService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/jobs":{"get":{"description":"List all jobs.","operationId":"JobService_ListJobs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListJobsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListJobs","tags":["JobService"],"x-internal":true},"post":{"description":"Creates a job.","operationId":"JobService_CreateJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobServiceCreateJobBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Job"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateJob","tags":["JobService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/jobs/supported-report-formats":{"get":{"description":"Returns the export formats supported per report job type.","operationId":"JobService_GetSupportedReportFormats","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetSupportedReportFormatsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSupportedReportFormats","tags":["JobService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/jobs/{uuid}":{"delete":{"description":"Deletes the job specified by the UUID.","operationId":"JobService_DeleteJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteJob","tags":["JobService"],"x-internal":true},"get":{"description":"Fetches the job identified by the UUID.","operationId":"JobService_GetJob","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Job"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetJob","tags":["JobService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/jvm-class-metadata":{"get":{"description":"Lists all jvm class metadata in a given namespace.","operationId":"JVMClassMetadataService_ListJVMClassMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListJVMClassMetadataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListJVMClassMetadata","tags":["JVMClassMetadataService"],"x-internal":true},"post":{"description":"Creates a jvm class metadata.","operationId":"JVMClassMetadataService_CreateJVMClassMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JVMClassMetadataServiceCreateJVMClassMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1JVMClassMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateJVMClassMetadata","tags":["JVMClassMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/jvm-class-metadata/{uuid}":{"delete":{"description":"Deletes a jvm class metadata of a specified UUID.","operationId":"JVMClassMetadataService_DeleteJVMClassMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteJVMClassMetadata","tags":["JVMClassMetadataService"],"x-internal":true},"get":{"description":"Fetches the class metadata for a jvm class given an uuid.","operationId":"JVMClassMetadataService_GetJVMClassMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1JVMClassMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetJVMClassMetadata","tags":["JVMClassMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/license-dependencies":{"get":{"description":"Lists all the license dependencies in a given namespace.","operationId":"LicenseDependencyService_ListLicenseDependencies","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListLicenseDependenciesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListLicenseDependencies","tags":["LicenseDependencyService"]},"post":{"description":"Creates a license dependency.","operationId":"LicenseDependencyService_CreateLicenseDependency","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseDependencyServiceCreateLicenseDependencyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseDependency"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateLicenseDependency","tags":["LicenseDependencyService"]}},"/v1/namespaces/{tenant_meta.namespace}/license-dependencies/{uuid}":{"delete":{"description":"Deletes the license dependency specified by the UUID.","operationId":"LicenseDependencyService_DeleteLicenseDependency","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteLicenseDependency","tags":["LicenseDependencyService"]},"get":{"description":"Fetches the license dependency specified by the UUID.","operationId":"LicenseDependencyService_GetLicenseDependency","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseDependency"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetLicenseDependency","tags":["LicenseDependencyService"]}},"/v1/namespaces/{tenant_meta.namespace}/license-notices-reports":{"post":{"description":"Creates a license notices report.","operationId":"LicenseNoticesReportService_CreateLicenseNoticesReport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseNoticesReportServiceCreateLicenseNoticesReportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseNoticesReport"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GenerateLicenseNoticesReport","tags":["LicenseNoticesReportService"]}},"/v1/namespaces/{tenant_meta.namespace}/license-summaries":{"get":{"description":"Lists all the license summaries in a given namespace.","operationId":"LicenseSummaryService_ListLicenseSummaries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListLicenseSummariesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListLicenseSummaries","tags":["LicenseSummaryService"]},"post":{"description":"Creates a license summary.","operationId":"LicenseSummaryService_CreateLicenseSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseSummaryServiceCreateLicenseSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateLicenseSummary","tags":["LicenseSummaryService"]}},"/v1/namespaces/{tenant_meta.namespace}/license-summaries/{uuid}":{"delete":{"description":"Deletes the license summary specified by the UUID.","operationId":"LicenseSummaryService_DeleteLicenseSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteLicenseSummary","tags":["LicenseSummaryService"]},"get":{"description":"Fetches the license summary specified by the UUID.","operationId":"LicenseSummaryService_GetLicenseSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LicenseSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetLicenseSummary","tags":["LicenseSummaryService"]}},"/v1/namespaces/{tenant_meta.namespace}/licenses":{"get":{"description":"Lists all licenses in a namespace.","operationId":"LicenseService_ListLicenses","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListLicenseResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListLicenses","tags":["LicenseService"],"x-internal":true},"post":{"description":"Creates a license.","operationId":"LicenseService_CreateLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseServiceCreateLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1License"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateLicense","tags":["LicenseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/licenses/{uuid}":{"delete":{"description":"Deletes the license identified by the UUID.","operationId":"LicenseService_DeleteLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteLicense","tags":["LicenseService"],"x-internal":true},"get":{"description":"Fetches the license specified by the UUID.","operationId":"LicenseService_GetLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1License"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetLicense","tags":["LicenseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/linter-results":{"get":{"description":"Lists all linter results.","operationId":"LinterResultService_ListLinterResults","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListLinterResultsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListLinterResults","tags":["LinterResultService"],"x-internal":false},"post":{"description":"Creates a Semgrep rule.","operationId":"LinterResultService_CreateLinterResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinterResultServiceCreateLinterResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LinterResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateLinterResult","tags":["LinterResultService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/linter-results/{uuid}":{"delete":{"description":"Deletes the linter result specified by the UUID.","operationId":"LinterResultService_DeleteLinterResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteLinterResult","tags":["LinterResultService"],"x-internal":true},"get":{"description":"Fetches the linter result identified by the UUID.","operationId":"LinterResultService_GetLinterResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1LinterResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetLinterResult","tags":["LinterResultService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/malware":{"get":{"description":"List all malware in the namespace.","operationId":"MalwareService_ListMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalware","tags":["MalwareService"],"x-internal":false},"post":{"description":"Creates a malware based on the ID.","operationId":"MalwareService_CreateMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareServiceCreateMalwareBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Malware"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalware","tags":["MalwareService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-analysis-tasks":{"get":{"operationId":"MalwareDetectionAnalysisTaskService_ListMalwareDetectionAnalysisTasks","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionAnalysisTasksResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionAnalysisTasks lists all analysis tasks in the namespace.","tags":["MalwareDetectionAnalysisTaskService"],"x-internal":true},"post":{"operationId":"MalwareDetectionAnalysisTaskService_CreateMalwareDetectionAnalysisTask","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionAnalysisTaskServiceCreateMalwareDetectionAnalysisTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTask"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionAnalysisTask creates a new analysis task.","tags":["MalwareDetectionAnalysisTaskService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-analysis-tasks/{uuid}":{"delete":{"operationId":"MalwareDetectionAnalysisTaskService_DeleteMalwareDetectionAnalysisTask","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionAnalysisTask deletes an analysis task.","tags":["MalwareDetectionAnalysisTaskService"],"x-internal":true},"get":{"operationId":"MalwareDetectionAnalysisTaskService_GetMalwareDetectionAnalysisTask","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAnalysisTask"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionAnalysisTask fetches an analysis task by UUID.","tags":["MalwareDetectionAnalysisTaskService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-artifact-download-status":{"get":{"operationId":"MalwareDetectionArtifactDownloadStatusService_ListMalwareDetectionArtifactDownloadStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionArtifactDownloadStatusResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionArtifactDownloadStatus lists all artifact download status in the namespace.","tags":["MalwareDetectionArtifactDownloadStatusService"],"x-internal":true},"post":{"operationId":"MalwareDetectionArtifactDownloadStatusService_CreateMalwareDetectionArtifactDownloadStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionArtifactDownloadStatusServiceCreateMalwareDetectionArtifactDownloadStatusBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionArtifactDownloadStatus creates a new artifact download status.","tags":["MalwareDetectionArtifactDownloadStatusService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-artifact-download-status/{uuid}":{"delete":{"operationId":"MalwareDetectionArtifactDownloadStatusService_DeleteMalwareDetectionArtifactDownloadStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionArtifactDownloadStatus deletes an artifact download status.","tags":["MalwareDetectionArtifactDownloadStatusService"],"x-internal":true},"get":{"operationId":"MalwareDetectionArtifactDownloadStatusService_GetMalwareDetectionArtifactDownloadStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionArtifactDownloadStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionArtifactDownloadStatus fetches an artifact download status by UUID.","tags":["MalwareDetectionArtifactDownloadStatusService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-assessments":{"get":{"operationId":"MalwareDetectionAssessmentService_ListMalwareDetectionAssessments","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionAssessmentsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionAssessments lists all assessments in the namespace.","tags":["MalwareDetectionAssessmentService"],"x-internal":true},"post":{"operationId":"MalwareDetectionAssessmentService_CreateMalwareDetectionAssessment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionAssessmentServiceCreateMalwareDetectionAssessmentBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAssessment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionAssessment creates a new assessment.","tags":["MalwareDetectionAssessmentService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-assessments/{uuid}":{"delete":{"operationId":"MalwareDetectionAssessmentService_DeleteMalwareDetectionAssessment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionAssessment deletes an assessment.","tags":["MalwareDetectionAssessmentService"],"x-internal":true},"get":{"operationId":"MalwareDetectionAssessmentService_GetMalwareDetectionAssessment","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAssessment"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionAssessment fetches an assessment by UUID.","tags":["MalwareDetectionAssessmentService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-assessments:promote":{"post":{"description":"Promotes the assessment named in spec.request.assessment_uuid into the malware feed.\nIdempotent on the malware record's spec.upsert_key: promoting the same assessment twice\nreturns the existing record rather than creating a second one. The record is derived from\nthe assessment, not supplied by the caller.","operationId":"MalwareDetectionAssessmentPromotionService_CreateMalwareDetectionAssessmentPromotion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionAssessmentPromotionServiceCreateMalwareDetectionAssessmentPromotionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionAssessmentPromotion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionAssessmentPromotion","tags":["MalwareDetectionAssessmentPromotionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-iocs":{"get":{"operationId":"MalwareDetectionIoCService_ListMalwareDetectionIoCs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionIoCsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionIoCs lists all IoCs in the namespace.","tags":["MalwareDetectionIoCService"],"x-internal":true},"post":{"operationId":"MalwareDetectionIoCService_CreateMalwareDetectionIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionIoCServiceCreateMalwareDetectionIoCBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionIoC creates a new IoC.","tags":["MalwareDetectionIoCService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-iocs/{uuid}":{"delete":{"operationId":"MalwareDetectionIoCService_DeleteMalwareDetectionIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionIoC deletes an IoC.","tags":["MalwareDetectionIoCService"],"x-internal":true},"get":{"operationId":"MalwareDetectionIoCService_GetMalwareDetectionIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionIoC fetches an IoC by UUID.","tags":["MalwareDetectionIoCService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-package-iocs":{"get":{"operationId":"MalwareDetectionPackageIoCService_ListMalwareDetectionPackageIoCs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionPackageIoCsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionPackageIoCs lists all package-IoC relationships in the namespace.","tags":["MalwareDetectionPackageIoCService"],"x-internal":true},"post":{"operationId":"MalwareDetectionPackageIoCService_CreateMalwareDetectionPackageIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionPackageIoCServiceCreateMalwareDetectionPackageIoCBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionPackageIoC creates a new package-IoC relationship.","tags":["MalwareDetectionPackageIoCService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-package-iocs/{uuid}":{"delete":{"operationId":"MalwareDetectionPackageIoCService_DeleteMalwareDetectionPackageIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionPackageIoC deletes a package-IoC relationship.","tags":["MalwareDetectionPackageIoCService"],"x-internal":true},"get":{"operationId":"MalwareDetectionPackageIoCService_GetMalwareDetectionPackageIoC","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackageIoC"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionPackageIoC fetches a package-IoC relationship by UUID.","tags":["MalwareDetectionPackageIoCService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-packages":{"get":{"operationId":"MalwareDetectionPackageService_ListMalwareDetectionPackages","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionPackagesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionPackages lists all packages in the namespace.","tags":["MalwareDetectionPackageService"],"x-internal":true},"post":{"operationId":"MalwareDetectionPackageService_CreateMalwareDetectionPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionPackageServiceCreateMalwareDetectionPackageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionPackage creates a new package record.","tags":["MalwareDetectionPackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-packages/{uuid}":{"delete":{"operationId":"MalwareDetectionPackageService_DeleteMalwareDetectionPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionPackage deletes a package record.","tags":["MalwareDetectionPackageService"],"x-internal":true},"get":{"operationId":"MalwareDetectionPackageService_GetMalwareDetectionPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionPackage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionPackage fetches a package by UUID.","tags":["MalwareDetectionPackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-workflows":{"get":{"operationId":"MalwareDetectionWorkflowService_ListMalwareDetectionWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareDetectionWorkflowsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareDetectionWorkflows lists all workflows in the namespace.","tags":["MalwareDetectionWorkflowService"],"x-internal":true},"post":{"operationId":"MalwareDetectionWorkflowService_CreateMalwareDetectionWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareDetectionWorkflowServiceCreateMalwareDetectionWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareDetectionWorkflow creates a new workflow configuration.","tags":["MalwareDetectionWorkflowService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-detection-workflows/{uuid}":{"delete":{"operationId":"MalwareDetectionWorkflowService_DeleteMalwareDetectionWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareDetectionWorkflow deletes a workflow configuration.","tags":["MalwareDetectionWorkflowService"],"x-internal":true},"get":{"operationId":"MalwareDetectionWorkflowService_GetMalwareDetectionWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareDetectionWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareDetectionWorkflow fetches a workflow by UUID.","tags":["MalwareDetectionWorkflowService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/malware-exposure":{"get":{"description":"Lists all MalwareExposure objects in a namespace.","operationId":"MalwareExposureService_ListMalwareExposure","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMalwareExposureResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMalwareExposure","tags":["MalwareExposureService"]},"post":{"description":"Creates a MalwareExposure object.","operationId":"MalwareExposureService_CreateMalwareExposure","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareExposureServiceCreateMalwareExposureBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareExposure"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareExposure","tags":["MalwareExposureService"]}},"/v1/namespaces/{tenant_meta.namespace}/malware-exposure/{uuid}":{"delete":{"description":"Deletes the MalwareExposure object specified by the UUID.","operationId":"MalwareExposureService_DeleteMalwareExposure","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalwareExposure","tags":["MalwareExposureService"]},"get":{"description":"Fetches the MalwareExposure object identified by the UUID.","operationId":"MalwareExposureService_GetMalwareExposure","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareExposure"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalwareExposure","tags":["MalwareExposureService"]}},"/v1/namespaces/{tenant_meta.namespace}/malware/{uuid}":{"delete":{"description":"Deletes a malware record identified by the UUID.","operationId":"MalwareService_DeleteMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMalware","tags":["MalwareService"],"x-internal":true},"get":{"description":"Fetches a malware identified by the UUID.","operationId":"MalwareService_GetMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Malware"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMalware","tags":["MalwareService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/master-toolchain-profiles":{"get":{"operationId":"SupportedToolChainProfileService_ListSupportedToolChainProfiles2","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSupportedToolChainProfilesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSupportedToolChainProfiles returns a list of toolchain profiles in a specified namespace.","tags":["SupportedToolChainProfileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/master-toolchain-profiles/{uuid}":{"get":{"operationId":"SupportedToolChainProfileService_GetSupportedToolChainProfile2","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainProfile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["SupportedToolChainProfileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/master-toolchain-versions":{"get":{"operationId":"SupportedToolChainVersionService_ListSupportedToolChainVersions2","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSupportedToolChainVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSupportedToolChainVersions returns a list of toolchain profiles in a specified namespace.","tags":["SupportedToolChainVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/master-toolchain-versions/{uuid}":{"get":{"operationId":"SupportedToolChainVersionService_GetSupportedToolChainVersion2","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSupportedToolChainVersion returns a toolchain profile specified by its UUID.","tags":["SupportedToolChainVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/mcp-server-logs":{"get":{"description":"Lists all MCP server logs visible in a namespace.","operationId":"MCPServerLogService_ListMCPServerLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMCPServerLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMCPServerLogs","tags":["MCPServerLogService"],"x-internal":true},"post":{"description":"Creates an MCPServerLog.","operationId":"MCPServerLogService_CreateMCPServerLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerLogServiceCreateMCPServerLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MCPServerLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMCPServerLog","tags":["MCPServerLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/mcp-server-logs/{uuid}":{"delete":{"description":"Deletes an MCPServerLog specified by its UUID.","operationId":"MCPServerLogService_DeleteMCPServerLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMCPServerLog","tags":["MCPServerLogService"],"x-internal":true},"get":{"description":"Fetches an MCPServerLog specified by its UUID.","operationId":"MCPServerLogService_GetMCPServerLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MCPServerLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMCPServerLog","tags":["MCPServerLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/metrics":{"get":{"description":"Lists all metrics in a specified namespace.","operationId":"MetricService_ListMetrics","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMetricsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMetrics","tags":["MetricService"],"x-internal":false},"post":{"description":"Creates a metric for the given parent.\nThis will be only called by the backend services, and not from the user/UI\nIt should be noted that the creation of the resource\nwill be an upsert if the given spec.external_id and spec.platform_resource\nwere already created.","operationId":"MetricService_CreateMetric","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricServiceCreateMetricBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Metric"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMetric","tags":["MetricService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/metrics/{uuid}":{"delete":{"description":"Deletes a metric specified by its UUID.","operationId":"MetricService_DeleteMetric","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMetric","tags":["MetricService"],"x-internal":true},"get":{"description":"Fetches a metric specified by its UUID.","operationId":"MetricService_GetMetric","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Metric"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMetric","tags":["MetricService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/namespaces":{"get":{"description":"Lists all namespaces in a tenant.","operationId":"NamespaceService_ListNamespaces","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListNamespacesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListNamespaces","tags":["NamespaceService"]},"post":{"description":"Creates a namespace.","operationId":"NamespaceService_CreateNamespace","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NamespaceServiceCreateNamespaceBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Namespace"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateNamespace","tags":["NamespaceService"]}},"/v1/namespaces/{tenant_meta.namespace}/namespaces/{uuid}":{"delete":{"description":"Deletes a namespace based on its UUID.","operationId":"NamespaceService_DeleteNamespace","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteNamespace","tags":["NamespaceService"]},"get":{"description":"Fetches a namespace identified by its UUID.","operationId":"NamespaceService_GetNamespace","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Namespace"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetNamespace","tags":["NamespaceService"]}},"/v1/namespaces/{tenant_meta.namespace}/notification-actions":{"post":{"description":"Runs the action for a notification target in the server.","operationId":"NotificationActionService_CreateNotificationAction","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationActionServiceCreateNotificationActionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1NotificationAction"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateNotificationAction","tags":["NotificationActionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/notification-targets":{"get":{"description":"Lists all notification targets.","operationId":"NotificationTargetService_ListNotificationTargets","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListNotificationTargetsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListNotificationTargets","tags":["NotificationTargetService"]},"post":{"description":"Creates a notification target.","operationId":"NotificationTargetService_CreateNotificationTarget","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationTargetServiceCreateNotificationTargetBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1NotificationTarget"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateNotificationTarget","tags":["NotificationTargetService"]}},"/v1/namespaces/{tenant_meta.namespace}/notification-targets/{uuid}":{"delete":{"description":"Deletes the notification target specified by the UUID.","operationId":"NotificationTargetService_DeleteNotificationTarget","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteNotificationTarget","tags":["NotificationTargetService"]},"get":{"description":"Fetches the notification target identified by the UUID.","operationId":"NotificationTargetService_GetNotificationTarget","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1NotificationTarget"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetNotificationTarget","tags":["NotificationTargetService"]}},"/v1/namespaces/{tenant_meta.namespace}/notifications":{"get":{"description":"List all notifications.","operationId":"NotificationService_ListNotifications","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListNotificationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListNotifications","tags":["NotificationService"],"x-internal":false},"post":{"description":"Creates a notification.","operationId":"NotificationService_CreateNotification","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationServiceCreateNotificationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Notification"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateNotification","tags":["NotificationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/notifications/{uuid}":{"delete":{"description":"Deletes the notification specified by the UUID.","operationId":"NotificationService_DeleteNotification","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteNotification","tags":["NotificationService"],"x-internal":true},"get":{"description":"Fetches the notification identified by the UUID.","operationId":"NotificationService_GetNotification","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Notification"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetNotification","tags":["NotificationService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/onprem-schedulers":{"get":{"operationId":"OnPremSchedulerService_ListOnPremSchedulers","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOnPremSchedulersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOnPremSchedulers returns a list of onprem schedulers in a specified namespace.","tags":["OnPremSchedulerService"],"x-internal":false},"post":{"operationId":"OnPremSchedulerService_CreateOnPremScheduler","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnPremSchedulerServiceCreateOnPremSchedulerBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OnPremScheduler"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOnPremScheduler creates an onprem scheduler.","tags":["OnPremSchedulerService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/onprem-schedulers/{uuid}":{"delete":{"operationId":"OnPremSchedulerService_DeleteOnPremScheduler","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOnPremScheduler deletes an onprem scheduler specified by its UUID.","tags":["OnPremSchedulerService"],"x-internal":false},"get":{"operationId":"OnPremSchedulerService_GetOnPremScheduler","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OnPremScheduler"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOnPremScheduler returns an onprem scheduler specified by its UUID.","tags":["OnPremSchedulerService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/optimized-queries":{"post":{"operationId":"OptimizedQueryService_CreateOptimizedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizedQueryServiceCreateOptimizedQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OptimizedQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOptimizedQuery handles different kinds of finding queries by\nbreaking the query into smaller queries and then aggregating the results.","tags":["OptimizedQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-allowed-workflows":{"get":{"description":"Lists all allowed workflows objects of an organization.","operationId":"OrganizationAllowedWorkflowsService_ListOrganizationAllowedWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationAllowedWorkflowsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationAllowedWorkflows","tags":["OrganizationAllowedWorkflowsService"],"x-internal":true},"post":{"description":"Creates an organization allowed workflows object.","operationId":"OrganizationAllowedWorkflowsService_CreateOrganizationAllowedWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAllowedWorkflowsServiceCreateOrganizationAllowedWorkflowsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflows"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationAllowedWorkflows","tags":["OrganizationAllowedWorkflowsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-allowed-workflows/{uuid}":{"delete":{"description":"Deletes an allowed workflows object of an organization identified by the UUID","operationId":"OrganizationAllowedWorkflowsService_DeleteOrganizationAllowedWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationAllowedWorkflows","tags":["OrganizationAllowedWorkflowsService"],"x-internal":true},"get":{"description":"Fetches the allowed workflows object of an organization identified by the UUID","operationId":"OrganizationAllowedWorkflowsService_GetOrganizationAllowedWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationAllowedWorkflows"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationAllowedWorkflows","tags":["OrganizationAllowedWorkflowsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-block-lists":{"get":{"description":"Lists the blocked user lists of multiple platform organizations.","operationId":"OrganizationBlockListService_ListOrganizationBlockLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationBlockListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationBlockLists","tags":["OrganizationBlockListService"],"x-internal":true},"post":{"description":"Creates a blocked user list of a platform organization.","operationId":"OrganizationBlockListService_CreateOrganizationBlockList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBlockListServiceCreateOrganizationBlockListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationBlockList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationBlockList","tags":["OrganizationBlockListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-block-lists/{uuid}":{"delete":{"description":"Deletes the blocked user list a platform organization specified by the UUID.","operationId":"OrganizationBlockListService_DeleteOrganizationBlockList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationBlockList","tags":["OrganizationBlockListService"],"x-internal":true},"get":{"description":"Fetches the blocked user list of a platform organization identified by the UUID.","operationId":"OrganizationBlockListService_GetOrganizationBlockList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationBlockList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationBlockList","tags":["OrganizationBlockListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-cicd-permissions":{"get":{"description":"Lists CI/CD permissions objects of multiple organizations.","operationId":"OrganizationCICDPermissionsService_ListOrganizationCICDPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationCICDPermissionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationCICDPermissions","tags":["OrganizationCICDPermissionsService"],"x-internal":true},"post":{"description":"Creates a CI/CD permissions object of a platform organization.","operationId":"OrganizationCICDPermissionsService_CreateOrganizationCICDPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCICDPermissionsServiceCreateOrganizationCICDPermissionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCICDPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"OrganizationCICDPermissions","tags":["OrganizationCICDPermissionsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-cicd-permissions/{uuid}":{"delete":{"description":"Deletes the CI/CD permissions objects of a platform organization specified by the UUID.","operationId":"OrganizationCICDPermissionsService_DeleteOrganizationCICDPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationCICDPermissions","tags":["OrganizationCICDPermissionsService"],"x-internal":true},"get":{"description":"Fetches the permissions objects of a platform organization identified by the UUID.","operationId":"OrganizationCICDPermissionsService_GetOrganizationCICDPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCICDPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationCICDPermissions","tags":["OrganizationCICDPermissionsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-custom-permission-lists":{"get":{"description":"Lists the custom fine grained permissions of multiple platform organizations.","operationId":"OrganizationCustomPermissionListService_ListOrganizationCustomPermissionLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationCustomPermissionListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationCustomPermissionLists","tags":["OrganizationCustomPermissionListService"],"x-internal":true},"post":{"description":"Creates custom fine grained permissions of a platform organization.","operationId":"OrganizationCustomPermissionListService_CreateOrganizationCustomPermissionList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCustomPermissionListServiceCreateOrganizationCustomPermissionListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationCustomPermissionList","tags":["OrganizationCustomPermissionListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-custom-permission-lists/{uuid}":{"delete":{"description":"Deletes the custom fine grained permissions of a platform organization specified by the UUID.","operationId":"OrganizationCustomPermissionListService_DeleteOrganizationCustomPermissionList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationCustomPermissionList","tags":["OrganizationCustomPermissionListService"],"x-internal":true},"get":{"description":"Lists the custom fine grained permissions of a platform organization identified by the UUID.","operationId":"OrganizationCustomPermissionListService_GetOrganizationCustomPermissionList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomPermissionList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationCustomPermissionList","tags":["OrganizationCustomPermissionListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-custom-role-lists":{"get":{"description":"Lists the custom role lists of multiple organizations.","operationId":"OrganizationCustomRoleListService_ListOrganizationCustomRoleLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationCustomRoleListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationCustomRoleLists","tags":["OrganizationCustomRoleListService"],"x-internal":true},"post":{"description":"Creates a custom role list of a platform organization.","operationId":"OrganizationCustomRoleListService_CreateOrganizationCustomRoleList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCustomRoleListServiceCreateOrganizationCustomRoleListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomRoleList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationCustomRoleList//","tags":["OrganizationCustomRoleListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-custom-role-lists/{uuid}":{"delete":{"description":"Deletes the custom role list of a platform organization specified by the UUID.","operationId":"OrganizationCustomRoleListService_DeleteOrganizationCustomRoleList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationCustomRoleList","tags":["OrganizationCustomRoleListService"],"x-internal":true},"get":{"description":"Fetches the custom role list of a platform organization identified by the UUID.","operationId":"OrganizationCustomRoleListService_GetOrganizationCustomRoleList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationCustomRoleList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationCustomRoleList","tags":["OrganizationCustomRoleListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-hooks":{"get":{"description":"Lists the organization hooks.","operationId":"OrganizationHookService_ListOrganizationHooks","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationHooksResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationHooks","tags":["OrganizationHookService"],"x-internal":true},"post":{"description":"Creates an organization hook.\n\nThe creation of the resource will be an upsert if the given spec.external_id is already available.","operationId":"OrganizationHookService_CreateOrganizationHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationHookServiceCreateOrganizationHookBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationHook","tags":["OrganizationHookService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-hooks/{uuid}":{"delete":{"description":"Deletes an organization hook.","operationId":"OrganizationHookService_DeleteOrganizationHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationHook","tags":["OrganizationHookService"],"x-internal":true},"get":{"description":"Fetches an organization hook.","operationId":"OrganizationHookService_GetOrganizationHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationHook","tags":["OrganizationHookService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-installation-lists":{"get":{"description":"Lists the installation information of multiple platform organizations.","operationId":"OrganizationInstallationListService_ListOrganizationInstallationLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationInstallationListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationInstallationLists","tags":["OrganizationInstallationListService"],"x-internal":true},"post":{"description":"Creates the installation information of a platform organization.","operationId":"OrganizationInstallationListService_CreateOrganizationInstallationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInstallationListServiceCreateOrganizationInstallationListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInstallationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationInstallationList","tags":["OrganizationInstallationListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-installation-lists/{uuid}":{"delete":{"description":"Deletes the installation information of a platform organization.","operationId":"OrganizationInstallationListService_DeleteOrganizationInstallationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationInstallationList","tags":["OrganizationInstallationListService"],"x-internal":true},"get":{"description":"Fetches the installation information of a platform organization.","operationId":"OrganizationInstallationListService_GetOrganizationInstallationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInstallationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationInstallationList","tags":["OrganizationInstallationListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-invitation-lists":{"get":{"description":"Lists the invitations of multiple platform organizations.","operationId":"OrganizationInvitationListService_ListOrganizationInvitationLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationInvitationListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationInvitationLists","tags":["OrganizationInvitationListService"],"x-internal":true},"post":{"description":"Creates invitations of a platform organization.","operationId":"OrganizationInvitationListService_CreateOrganizationInvitationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInvitationListServiceCreateOrganizationInvitationListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInvitationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationInvitationList","tags":["OrganizationInvitationListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-invitation-lists/{uuid}":{"delete":{"description":"Deletes invitations of a platform organization.","operationId":"OrganizationInvitationListService_DeleteOrganizationInvitationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationInvitationList","tags":["OrganizationInvitationListService"],"x-internal":true},"get":{"description":"Fetches invitations of a platform organization.","operationId":"OrganizationInvitationListService_GetOrganizationInvitationList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationInvitationList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationInvitationList","tags":["OrganizationInvitationListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-member-lists":{"get":{"description":"Lists the members of multiple platform organizations.","operationId":"OrganizationMemberListService_ListOrganizationMemberLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationMemberListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationMemberLists","tags":["OrganizationMemberListService"],"x-internal":true},"post":{"description":"Creates the members of a platform organization.","operationId":"OrganizationMemberListService_CreateOrganizationMemberList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberListServiceCreateOrganizationMemberListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationMemberList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationMemberList","tags":["OrganizationMemberListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-member-lists/{uuid}":{"delete":{"description":"Deletes the members of a platform organization specified by the UUID.","operationId":"OrganizationMemberListService_DeleteOrganizationMemberList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationMemberList","tags":["OrganizationMemberListService"],"x-internal":true},"get":{"description":"Fetches the members of a platform organization identified by the UUID.","operationId":"OrganizationMemberListService_GetOrganizationMemberList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationMemberList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationMemberList","tags":["OrganizationMemberListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-outside-collaborator-lists":{"get":{"description":"Lists outside collaborators of platform organizations.","operationId":"OrganizationOutsideCollaboratorListService_ListOrganizationOutsideCollaboratorLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationOutsideCollaboratorListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationOutsideCollaboratorLists","tags":["OrganizationOutsideCollaboratorListService"],"x-internal":true},"post":{"description":"Creates outside collaborators of a platform organization.","operationId":"OrganizationOutsideCollaboratorListService_CreateOrganizationOutsideCollaboratorList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationOutsideCollaboratorListServiceCreateOrganizationOutsideCollaboratorListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationOutsideCollaboratorList","tags":["OrganizationOutsideCollaboratorListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-outside-collaborator-lists/{uuid}":{"delete":{"description":"Deletes outside collaborators of a platform organization specified by the UUID.","operationId":"OrganizationOutsideCollaboratorListService_DeleteOrganizationOutsideCollaboratorList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationOutsideCollaboratorList","tags":["OrganizationOutsideCollaboratorListService"],"x-internal":true},"get":{"description":"Fetches outside collaborators of a platform organization identified by the UUID.","operationId":"OrganizationOutsideCollaboratorListService_GetOrganizationOutsideCollaboratorList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationOutsideCollaboratorList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationOutsideCollaboratorList","tags":["OrganizationOutsideCollaboratorListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-runner-group-config":{"get":{"description":"Lists the runner group configurations of multiple platform organizations.","operationId":"OrganizationRunnerGroupConfigService_ListOrganizationRunnerGroupConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationRunnerGroupConfigsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationRunnerGroupConfig","tags":["OrganizationRunnerGroupConfigService"],"x-internal":true},"post":{"description":"Creates the runner group configuration of a platform organization.","operationId":"OrganizationRunnerGroupConfigService_CreateOrganizationRunnerGroupConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRunnerGroupConfigServiceCreateOrganizationRunnerGroupConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationRunnerGroupConfig","tags":["OrganizationRunnerGroupConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-runner-group-config/{uuid}":{"delete":{"description":"Deletes the runner group configuration of a platform organization specified by the UUID.","operationId":"OrganizationRunnerGroupConfigService_DeleteOrganizationRunnerGroupConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationRunnerGroupConfig","tags":["OrganizationRunnerGroupConfigService"],"x-internal":true},"get":{"description":"Fetches the runner group configuration of a platform organization identified by the UUID.","operationId":"OrganizationRunnerGroupConfigService_GetOrganizationRunnerGroupConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationRunnerGroupConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationRunnerGroupConfig","tags":["OrganizationRunnerGroupConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-security-manager-lists":{"get":{"description":"Lists security managers of multiple platform organizations.","operationId":"OrganizationSecurityManagerListService_ListOrganizationSecurityManagerLists","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationSecurityManagerListsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationSecurityManagerLists","tags":["OrganizationSecurityManagerListService"],"x-internal":true},"post":{"description":"Creates security managers of a platform organization.","operationId":"OrganizationSecurityManagerListService_CreateOrganizationSecurityManagerList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSecurityManagerListServiceCreateOrganizationSecurityManagerListBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationSecurityManagerList","tags":["OrganizationSecurityManagerListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-security-manager-lists/{uuid}":{"delete":{"description":"Deletes security managers of a platform organization specified by the UUID.","operationId":"OrganizationSecurityManagerListService_DeleteOrganizationSecurityManagerList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationSecurityManagerList","tags":["OrganizationSecurityManagerListService"],"x-internal":true},"get":{"description":"Fetches security managers of a platform organization.","operationId":"OrganizationSecurityManagerListService_GetOrganizationSecurityManagerList","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationSecurityManagerList"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationSecurityManagerList","tags":["OrganizationSecurityManagerListService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-workflow-permissions":{"get":{"description":"Lists workflow permissions of an organization.","operationId":"OrganizationWorkflowPermissionsService_ListOrganizationWorkflowPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListOrganizationWorkflowPermissionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListOrganizationWorkflowPermissions","tags":["OrganizationWorkflowPermissionsService"],"x-internal":true},"post":{"description":"Creates a workflow permissions object of an organization.","operationId":"OrganizationWorkflowPermissionsService_CreateOrganizationWorkflowPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationWorkflowPermissionsServiceCreateOrganizationWorkflowPermissionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOrganizationWorkflowPermissions","tags":["OrganizationWorkflowPermissionsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/organization-workflow-permissions/{uuid}":{"delete":{"description":"Deletes workflow permissions of an organization.","operationId":"OrganizationWorkflowPermissionsService_DeleteOrganizationWorkflowPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteOrganizationWorkflowPermissions","tags":["OrganizationWorkflowPermissionsService"],"x-internal":true},"get":{"description":"Fetches the workflow permissions object of an organization identified by the UUID.","operationId":"OrganizationWorkflowPermissionsService_GetOrganizationWorkflowPermissions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OrganizationWorkflowPermissions"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetOrganizationWorkflowPermissions","tags":["OrganizationWorkflowPermissionsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/oss-dependency-requests":{"post":{"description":"Creates an OSS dependency request.","operationId":"OSSDependencyRequestService_CreateOSSDependencyRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OSSDependencyRequestServiceCreateOSSDependencyRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1OSSDependencyRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOSSDependencyRequest","tags":["OSSDependencyRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-firewall-logs":{"get":{"description":"Lists all package firewall logs in a given namespace.","operationId":"PackageFirewallLogService_ListPackageFirewallLogs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageFirewallLogsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageFirewallLogs","tags":["PackageFirewallLogService"]},"post":{"description":"Creates a package firewall log.","operationId":"PackageFirewallLogService_CreatePackageFirewallLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageFirewallLogServiceCreatePackageFirewallLogBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageFirewallLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageFirewallLog","tags":["PackageFirewallLogService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-firewall-logs/{uuid}":{"delete":{"description":"Deletes the package firewall log specified by its UUID.","operationId":"PackageFirewallLogService_DeletePackageFirewallLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageFirewallLog","tags":["PackageFirewallLogService"],"x-internal":true},"get":{"description":"Fetches the package firewall log identified by the UUID.","operationId":"PackageFirewallLogService_GetPackageFirewallLog","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageFirewallLog"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageFirewallLog","tags":["PackageFirewallLogService"]}},"/v1/namespaces/{tenant_meta.namespace}/package-license-overrides":{"get":{"description":"Lists all package license overrides in a namespace.","operationId":"PackageLicenseOverrideService_ListPackageLicenseOverrides","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageLicenseOverridesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageLicenseOverrides","tags":["PackageLicenseOverrideService"]},"post":{"description":"Creates a package license override.","operationId":"PackageLicenseOverrideService_CreatePackageLicenseOverride","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageLicenseOverrideServiceCreatePackageLicenseOverrideBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicenseOverride"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageLicenseOverride","tags":["PackageLicenseOverrideService"]}},"/v1/namespaces/{tenant_meta.namespace}/package-license-overrides/{uuid}":{"delete":{"description":"Deletes a specified package license override.","operationId":"PackageLicenseOverrideService_DeletePackageLicenseOverride","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageLicenseOverride","tags":["PackageLicenseOverrideService"]},"get":{"description":"Gets a package license override by its UUID.","operationId":"PackageLicenseOverrideService_GetPackageLicenseOverride","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicenseOverride"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageLicenseOverride","tags":["PackageLicenseOverrideService"]}},"/v1/namespaces/{tenant_meta.namespace}/package-licenses":{"get":{"description":"Lists all the package licenses in a given namespace.","operationId":"PackageLicenseService_ListPackageLicenses","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageLicenseResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageLicenses","tags":["PackageLicenseService"],"x-internal":false},"post":{"description":"Creates a package license.","operationId":"PackageLicenseService_CreatePackageLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageLicenseServiceCreatePackageLicenseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageLicense","tags":["PackageLicenseService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/package-licenses/{uuid}":{"delete":{"description":"Deletes the package license specified by the UUID.","operationId":"PackageLicenseService_DeletePackageLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageLicense","tags":["PackageLicenseService"],"x-internal":false},"get":{"description":"Fetches the package license specified by the UUID.","operationId":"PackageLicenseService_GetPackageLicense","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicense"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageLicense","tags":["PackageLicenseService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/package-managers":{"get":{"description":"Lists all package managers in a given namespace","operationId":"PackageManagerService_ListPackageManagers","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageManagersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageManagers","tags":["PackageManagerService"]},"post":{"description":"Creates a package manager in a given namespace.","operationId":"PackageManagerService_CreatePackageManager","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageManagerServiceCreatePackageManagerBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageManager"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageManager","tags":["PackageManagerService"]}},"/v1/namespaces/{tenant_meta.namespace}/package-managers/{uuid}":{"delete":{"description":"Deletes a package manager specified by its UUID.","operationId":"PackageManagerService_DeletePackageManager","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageManager","tags":["PackageManagerService"]},"get":{"description":"Fetches the package manager identified by the UUID.","operationId":"PackageManagerService_GetPackageManager","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageManager"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageManager","tags":["PackageManagerService"]}},"/v1/namespaces/{tenant_meta.namespace}/package-version-source-metadata":{"get":{"description":"Lists all the package version source metadata in a given namespace.","operationId":"PackageVersionSourceMetadataService_ListPackageVersionSourceMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageVersionSourceMetadataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageVersionSourceMetadata","tags":["PackageVersionSourceMetadataService"],"x-internal":true},"post":{"description":"Creates a package version source metadata.","operationId":"PackageVersionSourceMetadataService_CreatePackageVersionSourceMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionSourceMetadataServiceCreatePackageVersionSourceMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageVersionSourceMetadata","tags":["PackageVersionSourceMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-version-source-metadata/{uuid}":{"delete":{"description":"Deletes a package version source metadata of a specified UUID.","operationId":"PackageVersionSourceMetadataService_DeletePackageVersionSourceMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageVersionSourceMetadata","tags":["PackageVersionSourceMetadataService"],"x-internal":true},"get":{"description":"Fetches the package version source metadata of a specified UUID.","operationId":"PackageVersionSourceMetadataService_GetPackageVersionSourceMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionSourceMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageVersionSourceMetadata","tags":["PackageVersionSourceMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-versions":{"get":{"description":"Lists all the package versions in a given namespace.","operationId":"PackageVersionService_ListPackageVersions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageVersions","tags":["PackageVersionService"],"x-internal":false},"post":{"description":"Creates a package version.","operationId":"PackageVersionService_CreatePackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionServiceCreatePackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageVersion","tags":["PackageVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-versions-metadata":{"get":{"description":"Lists all the package versions in a given namespace.","operationId":"PackageVersionsMetadataService_ListPackageVersionsMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackageVersionsMetadataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackageVersionsMetadata","tags":["PackageVersionsMetadataService"],"x-internal":true},"post":{"description":"Creates a package version metadata.","operationId":"PackageVersionsMetadataService_CreatePackageVersionsMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionsMetadataServiceCreatePackageVersionsMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageVersionsMetadata","tags":["PackageVersionsMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-versions-metadata/{uuid}":{"delete":{"description":"Deletes a package version metadata specified by the UUID.","operationId":"PackageVersionsMetadataService_DeletePackageVersionsMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageVersionsMetadata","tags":["PackageVersionsMetadataService"],"x-internal":true},"get":{"description":"Fetches a package version metadata specified by the UUID.","operationId":"PackageVersionsMetadataService_GetPackageVersionsMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageVersionsMetadata","tags":["PackageVersionsMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/package-versions/{uuid}":{"delete":{"description":"Deletes a package version specified by the UUID.","operationId":"PackageVersionService_DeletePackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackageVersion","tags":["PackageVersionService"],"x-internal":false},"get":{"description":"Fetches a package version specified by the UUID.","operationId":"PackageVersionService_GetPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackageVersion","tags":["PackageVersionService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/packages":{"get":{"description":"Lists all packages in a specified namespace.","operationId":"PackageService_ListPackages","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPackagesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPackages","tags":["PackageService"],"x-internal":true},"post":{"description":"Creates a package.","operationId":"PackageService_CreatePackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageServiceCreatePackageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Package"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackage","tags":["PackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/packages/{uuid}":{"delete":{"description":"Deletes a package specified by its UUID.","operationId":"PackageService_DeletePackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePackage","tags":["PackageService"],"x-internal":true},"get":{"description":"Fetches a package specified by its UUID.","operationId":"PackageService_GetPackage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endorv1Package"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPackage","tags":["PackageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/platform-accounts":{"get":{"description":"Lists all platform accounts in a namespace.","operationId":"PlatformAccountService_ListPlatformAccounts","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPlatformAccountsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPlatformAccounts","tags":["PlatformAccountService"],"x-internal":true},"post":{"description":"Creates a platform account.\nThe creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource\nwere already created.","operationId":"PlatformAccountService_CreatePlatformAccount","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAccountServiceCreatePlatformAccountBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformAccount"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePlatformAccount","tags":["PlatformAccountService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/platform-accounts/{uuid}":{"delete":{"description":"Deletes a platform account specified by the UUID.","operationId":"PlatformAccountService_DeletePlatformAccount","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePlatformAccount","tags":["PlatformAccountService"],"x-internal":true},"get":{"description":"Fetches a platform account identified by the UUID.","operationId":"PlatformAccountService_GetPlatformAccount","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformAccount"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPlatformAccount","tags":["PlatformAccountService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/platform-organizations":{"get":{"description":"Lists all platform organizations in a namespace.","operationId":"PlatformOrganizationService_ListPlatformOrganizations","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPlatformOrganizationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPlatformOrganizations","tags":["PlatformOrganizationService"],"x-internal":true},"post":{"description":"Creates a platform organization identified by the UUID.","operationId":"PlatformOrganizationService_CreatePlatformOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformOrganizationServiceCreatePlatformOrganizationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformOrganization"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePlatformOrganization","tags":["PlatformOrganizationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/platform-organizations/{uuid}":{"delete":{"description":"Deletes a platform organization specified by the UUID.","operationId":"PlatformOrganizationService_DeletePlatformOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePlatformOrganization","tags":["PlatformOrganizationService"],"x-internal":true},"get":{"operationId":"PlatformOrganizationService_GetPlatformOrganization","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PlatformOrganization"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPlatformOrganization returns a platform organization.","tags":["PlatformOrganizationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/policies":{"get":{"description":"Lists all policies in a namespace.","operationId":"PolicyService_ListPolicies","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPoliciesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPolicies","tags":["PolicyService"]},"post":{"description":"Creates a policy.","operationId":"PolicyService_CreatePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyServiceCreatePolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Policy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePolicy","tags":["PolicyService"]}},"/v1/namespaces/{tenant_meta.namespace}/policies/{uuid}":{"delete":{"description":"Deletes the policy specified by the UUID.","operationId":"PolicyService_DeletePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePolicy","tags":["PolicyService"]},"get":{"description":"Fetches the policy identified by the UUID.","operationId":"PolicyService_GetPolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Policy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPolicy","tags":["PolicyService"]}},"/v1/namespaces/{tenant_meta.namespace}/policy-templates":{"get":{"description":"Lists all policy templates in a namespace.","operationId":"PolicyTemplateService_ListPolicyTemplates","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPolicyTemplatesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPolicyTemplates","tags":["PolicyTemplateService"],"x-internal":false},"post":{"description":"Creates a policy template.","operationId":"PolicyTemplateService_CreatePolicyTemplate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyTemplateServiceCreatePolicyTemplateBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PolicyTemplate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePolicyTemplate","tags":["PolicyTemplateService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/policy-templates/{uuid}":{"delete":{"description":"Deletes the policy template specified by the UUID.","operationId":"PolicyTemplateService_DeletePolicyTemplate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePolicyTemplate","tags":["PolicyTemplateService"],"x-internal":true},"get":{"description":"Fetches the policy template identified by the UUID.","operationId":"PolicyTemplateService_GetPolicyTemplate","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PolicyTemplate"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPolicyTemplate","tags":["PolicyTemplateService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/policy/validate":{"post":{"description":"Creates a policy validation request.","operationId":"PolicyValidationService_CreatePolicyValidation","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyValidationServiceCreatePolicyValidationBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PolicyValidation"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePolicyValidation","tags":["PolicyValidationService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/pr-comment-configs":{"get":{"description":"List all PR comment configurations for the tenant namespace.","operationId":"PRCommentConfigService_ListPRCommentConfigs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPRCommentConfigsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPRCommentConfigs","tags":["PRCommentConfigService"]},"post":{"description":"Creates a PR comment configuration.","operationId":"PRCommentConfigService_CreatePRCommentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PRCommentConfigServiceCreatePRCommentConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PRCommentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePRCommentConfig","tags":["PRCommentConfigService"]}},"/v1/namespaces/{tenant_meta.namespace}/pr-comment-configs/{uuid}":{"delete":{"description":"Deletes the PR comment configuration identified by the UUID.","operationId":"PRCommentConfigService_DeletePRCommentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePRCommentConfig","tags":["PRCommentConfigService"]},"get":{"description":"Fetches the PR comment configuration specified by the UUID.","operationId":"PRCommentConfigService_GetPRCommentConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PRCommentConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPRCommentConfig","tags":["PRCommentConfigService"]}},"/v1/namespaces/{tenant_meta.namespace}/project-summaries":{"get":{"description":"Lists all project summaries in the given namespace.","operationId":"ProjectSummaryService_ListProjectSummaries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListProjectSummariesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListProjectSummaries","tags":["ProjectSummaryService"],"x-internal":true},"post":{"description":"Creates a project summary.\n\nThe creation of the resource will be an upsert if the given\nmeta.parent_uuid is already available.","operationId":"ProjectSummaryService_CreateProjectSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectSummaryServiceCreateProjectSummaryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProjectSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateProjectSummary","tags":["ProjectSummaryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/project-summaries/{uuid}":{"delete":{"description":"Deletes a project summary specified by the UUID.","operationId":"ProjectSummaryService_DeleteProjectSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteProjectSummary","tags":["ProjectSummaryService"],"x-internal":true},"get":{"description":"Fetches a project summary identified by the UUID.","operationId":"ProjectSummaryService_GetProjectSummary","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProjectSummary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetProjectSummary","tags":["ProjectSummaryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/projects":{"get":{"description":"Lists all projects in a given namespace.","operationId":"ProjectService_ListProjects","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListProjectsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListProjects","tags":["ProjectService"]},"post":{"description":"Creates a project in a given namespace.","operationId":"ProjectService_CreateProject","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectServiceCreateProjectBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Project"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateProject","tags":["ProjectService"]}},"/v1/namespaces/{tenant_meta.namespace}/projects/{uuid}":{"delete":{"description":"Deletes a project specified by its UUID.","operationId":"ProjectService_DeleteProject","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteProject","tags":["ProjectService"]},"get":{"description":"Fetches comprehensive information about a project identified by a given\nUUID.","operationId":"ProjectService_GetProject","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Project"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetProject","tags":["ProjectService"]}},"/v1/namespaces/{tenant_meta.namespace}/provisioning-results":{"get":{"operationId":"ProvisioningResultService_ListProvisioningResults","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListProvisioningResultsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListProvisioningResults returns a list of provisioning results in a specified namespace.","tags":["ProvisioningResultService"],"x-internal":false},"post":{"operationId":"ProvisioningResultService_CreateProvisioningResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisioningResultServiceCreateProvisioningResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProvisioningResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateProvisioningResult creates a provisioning result.","tags":["ProvisioningResultService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/provisioning-results/{uuid}":{"delete":{"operationId":"ProvisioningResultService_DeleteProvisioningResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteProvisioningResult deletes a provisioning result specified by its UUID.","tags":["ProvisioningResultService"],"x-internal":true},"get":{"operationId":"ProvisioningResultService_GetProvisioningResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ProvisioningResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetProvisioningResult returns a provisioning result specified by its UUID.","tags":["ProvisioningResultService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/queries":{"post":{"description":"Queries metrics for specific values. It returns back a\nlist of metric UUIDs. The caller must call the List or Get metric\nto retrieve the individual metric values.","operationId":"QueryService_CreateQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryServiceCreateQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Query"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateQuery","tags":["QueryService"]}},"/v1/namespaces/{tenant_meta.namespace}/queries/agent-sessions-count":{"post":{"description":"Returns the total number of agent sessions in the namespace,\nregardless of session ownership.","operationId":"AgentSessionCountQueryService_CreateAgentSessionCountQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionCountQueryServiceCreateAgentSessionCountQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AgentSessionCountQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateAgentSessionCountQuery","tags":["AgentSessionCountQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/batch-package-license-queries":{"post":{"description":"Creates a batch query to fetch merged license data for multiple package versions in one call.\nEach item in spec.queries must have spec.package_version_uuid set. The server populates\nspec.licenses, spec.copyrights, spec.notices, and spec.applied_overrides on each returned item.","operationId":"BatchPackageLicenseQueryService_CreateBatchPackageLicenseQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPackageLicenseQueryServiceCreateBatchPackageLicenseQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1BatchPackageLicenseQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateBatchPackageLicenseQuery","tags":["BatchPackageLicenseQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/container-base-image-update-impact-records":{"post":{"description":"Computes (does not persist) one page of the fixed or introduced findings for\na single base image update option and a single severity or reachability\nbucket.","operationId":"ContainerBaseImageUpdateImpactRecordsQueryService_CreateContainerBaseImageUpdateImpactRecordsQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerBaseImageUpdateImpactRecordsQueryServiceCreateContainerBaseImageUpdateImpactRecordsQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactRecordsQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContainerBaseImageUpdateImpactRecordsQuery","tags":["ContainerBaseImageUpdateImpactRecordsQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/container-base-image-update-impacts":{"post":{"description":"Computes (does not persist) the vulnerability finding impact of each\navailable base image update option for a scanned container image.","operationId":"ContainerBaseImageUpdateImpactQueryService_CreateContainerBaseImageUpdateImpactQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerBaseImageUpdateImpactQueryServiceCreateContainerBaseImageUpdateImpactQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContainerBaseImageUpdateImpactQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContainerBaseImageUpdateImpactQuery","tags":["ContainerBaseImageUpdateImpactQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/container-context-diff-records":{"post":{"description":"Computes (does not persist) one page of the fixed, introduced, or common\nfindings for a single severity or reachability bucket.","operationId":"ContainerContextDiffRecordsQueryService_CreateContainerContextDiffRecordsQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerContextDiffRecordsQueryServiceCreateContainerContextDiffRecordsQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContainerContextDiffRecordsQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContainerContextDiffRecordsQuery","tags":["ContainerContextDiffRecordsQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/container-context-diffs":{"post":{"description":"Computes (does not persist) the finding delta between two scanned\ncontainer PackageVersions.","operationId":"ContainerContextDiffQueryService_CreateContainerContextDiffQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerContextDiffQueryServiceCreateContainerContextDiffQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ContainerContextDiffQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateContainerContextDiffQuery","tags":["ContainerContextDiffQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/dashboard-summaries":{"post":{"description":"Creates a dashboard summary query.","operationId":"DashboardSummaryQueryService_CreateDashboardSummaryQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSummaryQueryServiceCreateDashboardSummaryQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DashboardSummaryQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDashboardSummaryQuery.","tags":["DashboardSummaryQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/detect-license-queries":{"post":{"description":"Creates a query to detect what license a given block of text represents.","operationId":"DetectLicenseQueryService_CreateDetectLicenseQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectLicenseQueryServiceCreateDetectLicenseQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1DetectLicenseQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDetectLicenseQuery","tags":["DetectLicenseQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/function-summaries":{"post":{"description":"Searches indexed OSS function summaries.","operationId":"FunctionSummaryQueryService_CreateFunctionSummaryQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionSummaryQueryServiceCreateFunctionSummaryQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FunctionSummaryQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFunctionSummaryQuery","tags":["FunctionSummaryQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/function-summary-hashes":{"post":{"description":"Reports which of the given function summary hashes are missing a usable\nsummary, of any status.","operationId":"FunctionSummaryHashesQueryService_CreateFunctionSummaryHashesQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionSummaryHashesQueryServiceCreateFunctionSummaryHashesQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1FunctionSummaryHashesQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateFunctionSummaryHashesQuery","tags":["FunctionSummaryHashesQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/integration-resources":{"post":{"description":"Lists the selectable resources of the requested kind visible to the\nsupplied credentials. Synchronous and read-only; persists nothing.","operationId":"QueryIntegrationResourceService_CreateQueryIntegrationResource","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryIntegrationResourceServiceCreateQueryIntegrationResourceBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1QueryIntegrationResource"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateQueryIntegrationResource","tags":["QueryIntegrationResourceService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/malware":{"post":{"description":"Queries malware for specific values.\nUse this method to query malware for a specific package version.","operationId":"QueryMalwareService_CreateQueryMalware","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryMalwareServiceCreateQueryMalwareBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1QueryMalware"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateQueryMalware","tags":["QueryMalwareService"]}},"/v1/namespaces/{tenant_meta.namespace}/queries/malware-exposure":{"post":{"description":"Creates a MalwareExposureQuery.","operationId":"MalwareExposureQueryService_CreateMalwareExposureQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareExposureQueryServiceCreateMalwareExposureQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1MalwareExposureQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateMalwareExposureQuery","tags":["MalwareExposureQueryService"]}},"/v1/namespaces/{tenant_meta.namespace}/queries/package-license-queries":{"post":{"description":"Creates a query to fetch merged license data (PackageLicense + PackageLicenseOverride) for a package version from all the namespaces in the namespace chain.\nThis is the primary API for the Edit Dependency UI page.\nThe response combines:\n  - Original licenses/copyrights/notices from PackageLicense (fetched from OSS namespace).\n  - Any overrides from PackageLicenseOverride (fetched from user namespace).\n  - Selection states for each item (defaults to selected if not in selection map).","operationId":"PackageLicenseQueryService_CreatePackageLicenseQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageLicenseQueryServiceCreatePackageLicenseQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageLicenseQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePackageLicenseQuery","tags":["PackageLicenseQueryService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/queries/package-version-licenses":{"post":{"operationId":"PackageVersionLicenseQueryService_CreatePackageVersionLicenseQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionLicenseQueryServiceCreatePackageVersionLicenseQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionLicenseQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["PackageVersionLicenseQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/package-versions-metadata":{"post":{"description":"When sending the request, you can choose to give a version for the package.\nThe result of the request will be different based on this though.\n\nWhile not giving the version, only the version and release time of the package versions found will be returned.\nWhile giving the version, all attributes of the version metadata will be returned.","operationId":"PackageVersionMetadataQueryService_CreatePackageVersionMetadataQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageVersionMetadataQueryServiceCreatePackageVersionMetadataQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PackageVersionMetadataQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Creates a package version metadata query.","tags":["PackageVersionMetadataQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/security-review":{"post":{"description":"Creates a security review dashboard summary query.","operationId":"SecurityReviewQueryService_CreateSecurityReviewQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityReviewQueryServiceCreateSecurityReviewQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecurityReviewQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSecurityReviewQuery.","tags":["SecurityReviewQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/similar-packages":{"post":{"operationId":"QuerySimilarPackagesService_CreateQuerySimilarPackages","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuerySimilarPackagesServiceCreateQuerySimilarPackagesBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1QuerySimilarPackages"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"Queries packages which is lexicographically similar to a given package.","tags":["QuerySimilarPackagesService"]}},"/v1/namespaces/{tenant_meta.namespace}/queries/vector-store-data":{"post":{"description":"Queries vector stores by metadata filter.","operationId":"VectorStoreMetadataQueryService_CreateVectorStoreMetadataQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreMetadataQueryServiceCreateVectorStoreMetadataQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreMetadataQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreMetadataQuery","tags":["VectorStoreMetadataQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/vector-store-data-document-consistency":{"post":{"description":"Checks which documents need to be updated in a vector store.\nThis is a lightweight check that avoids sending full document content.","operationId":"VectorStoreDataDocumentConsistencyQueryService_CreateVectorStoreDataDocumentConsistencyQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreDataDocumentConsistencyQueryServiceCreateVectorStoreDataDocumentConsistencyQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreDataDocumentConsistencyQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreDataDocumentConsistencyQuery","tags":["VectorStoreDataDocumentConsistencyQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/vector-stores":{"post":{"description":"Queries vector stores for data.","operationId":"VectorStoreQueryService_CreateVectorStoreQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreQueryServiceCreateVectorStoreQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreQuery","tags":["VectorStoreQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/queries/vulnerabilities":{"post":{"description":"Queries vulnerabilities for specific values.\nUse this method to query vulnerabilities for a specific package version.","operationId":"QueryVulnerabilityService_CreateQueryVulnerability","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryVulnerabilityServiceCreateQueryVulnerabilityBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1QueryVulnerability"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateQueryVulnerability","tags":["QueryVulnerabilityService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/registry-ingestion-checkpoints":{"get":{"description":"Lists registry ingestion checkpoints in a namespace.","operationId":"RegistryIngestionCheckpointService_ListRegistryIngestionCheckpoint","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRegistryIngestionCheckpointResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRegistryIngestionCheckpoint","tags":["RegistryIngestionCheckpointService"]},"post":{"description":"Creates a registry ingestion checkpoint.","operationId":"RegistryIngestionCheckpointService_CreateRegistryIngestionCheckpoint","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryIngestionCheckpointServiceCreateRegistryIngestionCheckpointBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpoint"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRegistryIngestionCheckpoint","tags":["RegistryIngestionCheckpointService"]}},"/v1/namespaces/{tenant_meta.namespace}/registry-ingestion-checkpoints/{uuid}":{"delete":{"description":"Deletes the registry ingestion checkpoint specified by the UUID.","operationId":"RegistryIngestionCheckpointService_DeleteRegistryIngestionCheckpoint","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRegistryIngestionCheckpoint","tags":["RegistryIngestionCheckpointService"]},"get":{"description":"Fetches the registry ingestion checkpoint specified by the UUID.","operationId":"RegistryIngestionCheckpointService_GetRegistryIngestionCheckpoint","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RegistryIngestionCheckpoint"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRegistryIngestionCheckpoint","tags":["RegistryIngestionCheckpointService"]}},"/v1/namespaces/{tenant_meta.namespace}/repositories":{"get":{"description":"Lists the source control repositories in a given namespace.","operationId":"RepositoryService_ListRepositories","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositories","tags":["RepositoryService"]},"post":{"description":"Creates a source control repository.\n\nThe creation of the resource will be an upsert operation if the given spec.external_id and spec.platform_resource\nare already available.","operationId":"RepositoryService_CreateRepository","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryServiceCreateRepositoryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Repository"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepository","tags":["RepositoryService"]}},"/v1/namespaces/{tenant_meta.namespace}/repositories/{uuid}":{"delete":{"description":"Deletes a source control repository specified by its UUID.","operationId":"RepositoryService_DeleteRepository","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepository","tags":["RepositoryService"]},"get":{"description":"Fetches a source control repository identified by a given UUID.","operationId":"RepositoryService_GetRepository","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Repository"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepository","tags":["RepositoryService"]}},"/v1/namespaces/{tenant_meta.namespace}/repository-branch-protections":{"get":{"description":"Lists the repository branch protections in the given namespace.","operationId":"RepositoryBranchProtectionService_ListRepositoryBranchProtections","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryBranchProtectionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryBranchProtections","tags":["RepositoryBranchProtectionService"],"x-internal":true},"post":{"description":"Creates a repository branch protection.","operationId":"RepositoryBranchProtectionService_CreateRepositoryBranchProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryBranchProtectionServiceCreateRepositoryBranchProtectionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryBranchProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryBranchProtection","tags":["RepositoryBranchProtectionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-branch-protections/{uuid}":{"delete":{"description":"Deletes a repository branch protection specified by the UUID.","operationId":"RepositoryBranchProtectionService_DeleteRepositoryBranchProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryBranchProtection","tags":["RepositoryBranchProtectionService"],"x-internal":true},"get":{"description":"Fetches a respository branch protection identified by the UUID.","operationId":"RepositoryBranchProtectionService_GetRepositoryBranchProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryBranchProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryBranchProtection","tags":["RepositoryBranchProtectionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-check-runs":{"get":{"description":"Lists all repository check runs in the given namespace.","operationId":"RepositoryCheckRunService_ListRepositoryCheckRuns","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryCheckRunsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryCheckRuns","tags":["RepositoryCheckRunService"],"x-internal":true},"post":{"description":"Creates a repository check run.\n\nThe creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source\nare already available.","operationId":"RepositoryCheckRunService_CreateRepositoryCheckRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCheckRunServiceCreateRepositoryCheckRunBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCheckRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryCheckRun","tags":["RepositoryCheckRunService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-check-runs/{uuid}":{"delete":{"description":"Deletes a repository check run specified by the UUID.","operationId":"RepositoryCheckRunService_DeleteRepositoryCheckRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryCheckRun","tags":["RepositoryCheckRunService"],"x-internal":true},"get":{"description":"Fetches a repository check run identified by the UUID.","operationId":"RepositoryCheckRunService_GetRepositoryCheckRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCheckRun"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryCheckRun","tags":["RepositoryCheckRunService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-codeowners-file":{"get":{"description":"Lists the repository's codeowners file information in the given namespace.","operationId":"RepositoryCodeownersFileService_ListRepositoryCodeownersFile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryCodeownersFileResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryCodeownersFile","tags":["RepositoryCodeownersFileService"],"x-internal":true},"post":{"description":"Creates repository codeowners file information.","operationId":"RepositoryCodeownersFileService_CreateRepositoryCodeownersFile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCodeownersFileServiceCreateRepositoryCodeownersFileBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCodeownersFile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryCodeownersFile","tags":["RepositoryCodeownersFileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-codeowners-file/{uuid}":{"delete":{"description":"Deletes a repository's codeowners file information.","operationId":"RepositoryCodeownersFileService_DeleteRepositoryCodeownersFile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryCodeownersFile","tags":["RepositoryCodeownersFileService"],"x-internal":true},"get":{"description":"Fetches a repository's codeowners file information identified by the UUID.","operationId":"RepositoryCodeownersFileService_GetRepositoryCodeownersFile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCodeownersFile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryCodeownersFile","tags":["RepositoryCodeownersFileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-collaborators":{"get":{"description":"Lists the repository collaborators in the given namespace.","operationId":"RepositoryCollaboratorsService_ListRepositoryCollaborators","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryCollaboratorsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryCollaborators","tags":["RepositoryCollaboratorsService"],"x-internal":true},"post":{"description":"Creates a repository collaborator.","operationId":"RepositoryCollaboratorsService_CreateRepositoryCollaborators","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCollaboratorsServiceCreateRepositoryCollaboratorsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCollaborators"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryCollaborators","tags":["RepositoryCollaboratorsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-collaborators/{uuid}":{"delete":{"description":"Deletes a repository collaborator specified by the UUID.","operationId":"RepositoryCollaboratorsService_DeleteRepositoryCollaborators","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryCollaborators","tags":["RepositoryCollaboratorsService"],"x-internal":true},"get":{"description":"Fetches a repository collaborator identified by the UUID.","operationId":"RepositoryCollaboratorsService_GetRepositoryCollaborators","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCollaborators"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryCollaborators","tags":["RepositoryCollaboratorsService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-commits":{"get":{"description":"Lists repository commits in a given namespace.","operationId":"RepositoryCommitService_ListRepositoryCommits","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryCommitsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryCommits","tags":["RepositoryCommitService"],"x-internal":true},"post":{"description":"Creates a repository commit.","operationId":"RepositoryCommitService_CreateRepositoryCommit","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCommitServiceCreateRepositoryCommitBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCommit"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryCommit","tags":["RepositoryCommitService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-commits/{uuid}":{"delete":{"description":"Deletes a repository commit specified by the UUID.","operationId":"RepositoryCommitService_DeleteRepositoryCommit","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryCommit","tags":["RepositoryCommitService"],"x-internal":true},"get":{"description":"Fetches a repository commit identified by the UUID.","operationId":"RepositoryCommitService_GetRepositoryCommit","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryCommit"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryCommit","tags":["RepositoryCommitService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-deployment-env-config":{"get":{"description":"Lists all repository's deployment environment configurations in the namespace.","operationId":"RepositoryDeploymentEnvConfigService_ListRepositoryDeploymentEnvConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryDeploymentEnvConfigResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryDeploymentEnvConfig","tags":["RepositoryDeploymentEnvConfigService"],"x-internal":true},"post":{"description":"Creates the repository's deployment environment configuration information.","operationId":"RepositoryDeploymentEnvConfigService_CreateRepositoryDeploymentEnvConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryDeploymentEnvConfigServiceCreateRepositoryDeploymentEnvConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryDeploymentEnvConfig","tags":["RepositoryDeploymentEnvConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-deployment-env-config/{uuid}":{"delete":{"description":"Deletes a rrepository's deployment environment configuration specified by the UUID.","operationId":"RepositoryDeploymentEnvConfigService_DeleteRepositoryDeploymentEnvConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryDeploymentEnvConfig","tags":["RepositoryDeploymentEnvConfigService"],"x-internal":true},"get":{"description":"Fetches a repository's deployment environment configuration identified by the UUID.","operationId":"RepositoryDeploymentEnvConfigService_GetRepositoryDeploymentEnvConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryDeploymentEnvConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryDeploymentEnvConfig","tags":["RepositoryDeploymentEnvConfigService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-hooks":{"get":{"description":"Lists all repository hooks in the given namespace.","operationId":"RepositoryHookService_ListRepositoryHooks","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryHooksResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryHooks","tags":["RepositoryHookService"],"x-internal":true},"post":{"description":"Creates a repository hook.\n\nThe creation of the resource will be an upsert if the given spec.external_id is already available.","operationId":"RepositoryHookService_CreateRepositoryHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryHookServiceCreateRepositoryHookBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryHook","tags":["RepositoryHookService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-hooks/{uuid}":{"delete":{"description":"Deletes a repository hook specified by the UUID.","operationId":"RepositoryHookService_DeleteRepositoryHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryHook","tags":["RepositoryHookService"],"x-internal":true},"get":{"description":"Fetches a repository hook identified by the UUID.","operationId":"RepositoryHookService_GetRepositoryHook","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryHook"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryHook","tags":["RepositoryHookService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-issues":{"get":{"description":"Lists all repository issues in the given namespace.","operationId":"RepositoryIssueService_ListRepositoryIssues","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryIssuesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryIssues","tags":["RepositoryIssueService"],"x-internal":true},"post":{"description":"Creates a repository issue.\n\nCreation of the resource will be an upsert if the given spec.external_id and spec.platform_resource\nare already available.","operationId":"RepositoryIssueService_CreateRepositoryIssue","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryIssueServiceCreateRepositoryIssueBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryIssue"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryIssue","tags":["RepositoryIssueService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-issues/{uuid}":{"delete":{"description":"Deletes a repository issue specified by the UUID.","operationId":"RepositoryIssueService_DeleteRepositoryIssue","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryIssue","tags":["RepositoryIssueService"],"x-internal":true},"get":{"description":"Fetches a repository issue identified by the UUID.","operationId":"RepositoryIssueService_GetRepositoryIssue","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryIssue"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryIssue","tags":["RepositoryIssueService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-pull-requests":{"get":{"description":"Lists all repository pull requests in the given namespace.","operationId":"RepositoryPullRequestService_ListRepositoryPullRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryPullRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryPullRequests","tags":["RepositoryPullRequestService"],"x-internal":true},"post":{"description":"Creates a repository pull request.\n\nThe creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource\nare already available.","operationId":"RepositoryPullRequestService_CreateRepositoryPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryPullRequestServiceCreateRepositoryPullRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryPullRequest","tags":["RepositoryPullRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-pull-requests/{uuid}":{"delete":{"description":"Deletes a repository pull request specified by the UUID.","operationId":"RepositoryPullRequestService_DeleteRepositoryPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryPullRequest","tags":["RepositoryPullRequestService"],"x-internal":true},"get":{"description":"Fetches a repository pull request identified by the UUID.","operationId":"RepositoryPullRequestService_GetRepositoryPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryPullRequest","tags":["RepositoryPullRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-releases":{"get":{"description":"Lists all repository releases in the given namespace.","operationId":"RepositoryReleaseService_ListRepositoryReleases","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryReleasesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryReleases","tags":["RepositoryReleaseService"],"x-internal":true},"post":{"description":"Creates a repository release.\n\nThe creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource\nare already available.","operationId":"RepositoryReleaseService_CreateRepositoryRelease","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryReleaseServiceCreateRepositoryReleaseBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryRelease"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryRelease","tags":["RepositoryReleaseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-releases/{uuid}":{"delete":{"description":"Deletes a repository release specified by the UUID.","operationId":"RepositoryReleaseService_DeleteRepositoryRelease","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryRelease","tags":["RepositoryReleaseService"],"x-internal":true},"get":{"description":"Fetches a repository release identified by the UUID.","operationId":"RepositoryReleaseService_GetRepositoryRelease","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryRelease"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryRelease","tags":["RepositoryReleaseService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-scan-metadata":{"get":{"description":"Lists all scan metadata of a repository.","operationId":"RepositoryScanMetadataService_ListRepositoryScanMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryScanMetadataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryScanMetadata","tags":["RepositoryScanMetadataService"],"x-internal":true},"post":{"description":"Creates the scan metadata of a repository.","operationId":"RepositoryScanMetadataService_CreateRepositoryScanMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryScanMetadataServiceCreateRepositoryScanMetadataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryScanMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryScanMetadata","tags":["RepositoryScanMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-scan-metadata/{uuid}":{"delete":{"description":"Deletes the scan metadata of a repository specified by the UUID.","operationId":"RepositoryScanMetadataService_DeleteRepositoryScanMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryScanMetadata","tags":["RepositoryScanMetadataService"],"x-internal":true},"get":{"description":"Fetches the scan meta data of a repository identified by the UUID.","operationId":"RepositoryScanMetadataService_GetRepositoryScanMetadata","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryScanMetadata"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepository","tags":["RepositoryScanMetadataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-statuses":{"get":{"description":"Lists all repository statuses in the given namespace.","operationId":"RepositoryStatusService_ListRepositoryStatuses","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryStatusesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryStatuses","tags":["RepositoryStatusService"],"x-internal":true},"post":{"description":"Creates a repository status.\n\nThe creation of the resource will be an upsert if the given spec.commit_sha and spec.platform_source\nare already available.","operationId":"RepositoryStatusService_CreateRepositoryStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryStatusServiceCreateRepositoryStatusBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryStatus","tags":["RepositoryStatusService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-statuses/{uuid}":{"delete":{"description":"Deletes a repository status specified by the UUID.","operationId":"RepositoryStatusService_DeleteRepositoryStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryStatus","tags":["RepositoryStatusService"],"x-internal":true},"get":{"description":"Fetches a repository status identified by the UUID.","operationId":"RepositoryStatusService_GetRepositoryStatus","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryStatus"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryStatus","tags":["RepositoryStatusService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-tag-protections":{"get":{"description":"Lists all repository's tag protections information.","operationId":"RepositoryTagProtectionService_ListRepositoryTagProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryTagProtectionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryTagProtection","tags":["RepositoryTagProtectionService"],"x-internal":true},"post":{"description":"Creates repository's tag protection information.","operationId":"RepositoryTagProtectionService_CreateRepositoryTagProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryTagProtectionServiceCreateRepositoryTagProtectionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryTagProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryTagProtection","tags":["RepositoryTagProtectionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-tag-protections/{uuid}":{"delete":{"description":"Deletes a repository's tag protection information specified by the UUID.","operationId":"RepositoryTagProtectionService_DeleteRepositoryTagProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryTagProtection","tags":["RepositoryTagProtectionService"],"x-internal":true},"get":{"description":"Fetches a repository's tag protection information identified by the UUID.","operationId":"RepositoryTagProtectionService_GetRepositoryTagProtection","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryTagProtection"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryTagProtection","tags":["RepositoryTagProtectionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/repository-versions":{"get":{"description":"Lists all repository versions in a given namespace.","operationId":"RepositoryVersionService_ListRepositoryVersions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRepositoryVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRepositoryVersions","tags":["RepositoryVersionService"]},"post":{"description":"Creates a repository version or updates a repository version if it already exists.","operationId":"RepositoryVersionService_CreateRepositoryVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryVersionServiceCreateRepositoryVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepositoryVersion","tags":["RepositoryVersionService"]}},"/v1/namespaces/{tenant_meta.namespace}/repository-versions/{uuid}":{"delete":{"description":"Deletes a repository version specified by its UUID.","operationId":"RepositoryVersionService_DeleteRepositoryVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRepositoryVersion","tags":["RepositoryVersionService"]},"get":{"description":"Fetches a repository version specified by its UUID.","operationId":"RepositoryVersionService_GetRepositoryVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RepositoryVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRepositoryVersion","tags":["RepositoryVersionService"]}},"/v1/namespaces/{tenant_meta.namespace}/request-assured-package-versions":{"get":{"description":"Lists all request assured package versions in a given namespace","operationId":"RequestAssuredPackageVersionService_ListRequestAssuredPackageVersions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRequestAssuredPackageVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRequestAssuredPackageVersions","tags":["RequestAssuredPackageVersionService"],"x-internal":true},"post":{"description":"Creates a request assured package version in a given namespace.","operationId":"RequestAssuredPackageVersionService_CreateRequestAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestAssuredPackageVersionServiceCreateRequestAssuredPackageVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRequestAssuredPackageVersion","tags":["RequestAssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/request-assured-package-versions/{uuid}":{"delete":{"description":"Deletes a request assured package version specified by its UUID.","operationId":"RequestAssuredPackageVersionService_DeleteRequestAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRequestAssuredPackageVersion","tags":["RequestAssuredPackageVersionService"],"x-internal":true},"get":{"description":"Fetches the request assured package version identified by the UUID.","operationId":"RequestAssuredPackageVersionService_GetRequestAssuredPackageVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1RequestAssuredPackageVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRequestAssuredPackageVersion","tags":["RequestAssuredPackageVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/rule-set-imports":{"get":{"description":"Lists all imported rule set objects in a namespace.","operationId":"RuleSetImportService_ListRuleSetImports","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListRuleSetImportsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListRuleSetImports","tags":["RuleSetImportService"]},"post":{"description":"Imports the given set of rules.","operationId":"RuleSetImportService_CreateRuleSetImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSetImportServiceCreateRuleSetImportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedRuleSet"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRuleSetImport","tags":["RuleSetImportService"]}},"/v1/namespaces/{tenant_meta.namespace}/rule-set-imports/{uuid}":{"delete":{"description":"Deletes an imported rule set object specified by its UUID.","operationId":"RuleSetImportService_DeleteRuleSetImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteRuleSetImport","tags":["RuleSetImportService"]},"get":{"description":"Fetches an imported rule set object specified by its UUID.","operationId":"RuleSetImportService_GetRuleSetImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedRuleSet"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetRuleSetImport","tags":["RuleSetImportService"]}},"/v1/namespaces/{tenant_meta.namespace}/saved-queries":{"get":{"description":"Lists all saved queries in a namespace.","operationId":"SavedQueryService_ListSavedQueries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSavedQueriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSavedQueries","tags":["SavedQueryService"]},"post":{"description":"Creates a saved query.","operationId":"SavedQueryService_CreateSavedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryServiceCreateSavedQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SavedQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSavedQuery","tags":["SavedQueryService"]}},"/v1/namespaces/{tenant_meta.namespace}/saved-queries/{uuid}":{"delete":{"description":"Deletes the saved query specified by the UUID.","operationId":"SavedQueryService_DeleteSavedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSavedQuery","tags":["SavedQueryService"]},"get":{"description":"Fetches the saved query identified by the UUID.","operationId":"SavedQueryService_GetSavedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SavedQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSavedQuery","tags":["SavedQueryService"]}},"/v1/namespaces/{tenant_meta.namespace}/saved-queries/{uuid}/evaluate":{"get":{"description":"Evaluates the saved query, then returns the query and the result.","operationId":"SavedQueryService_EvaluateSavedQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SavedQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"EvaluateSavedQuery","tags":["SavedQueryService"]}},"/v1/namespaces/{tenant_meta.namespace}/sbom-export":{"post":{"description":"Creates an SBOM export.","operationId":"SBOMExportService_CreateSBOMExport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SBOMExportServiceCreateSBOMExportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ExportedSBOM"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSBOMExport","tags":["SBOMExportService"]}},"/v1/namespaces/{tenant_meta.namespace}/sbom-imports":{"get":{"description":"Lists all imported SBOMS in a namespace.","operationId":"SBOMImportService_ListSBOMImports","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSBOMImportsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSBOMImports","tags":["SBOMImportService"]},"post":{"description":"Imports the given SBOM.","operationId":"SBOMImportService_CreateSBOMImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SBOMImportServiceCreateSBOMImportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedSBOM"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSBOMImport","tags":["SBOMImportService"]}},"/v1/namespaces/{tenant_meta.namespace}/sbom-imports/{uuid}":{"delete":{"description":"Deletes an imported SBOM specified by its UUID.","operationId":"SBOMImportService_DeleteSBOMImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSBOMImport","tags":["SBOMImportService"]},"get":{"description":"Fetches an imported SBOM specified by its UUID.","operationId":"SBOMImportService_GetSBOMImport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ImportedSBOM"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSBOMImport","tags":["SBOMImportService"]}},"/v1/namespaces/{tenant_meta.namespace}/sbom-organizational-contacts":{"get":{"description":"Lists all SBOM organizational contacts in a namespace.","operationId":"SBOMOrganizationalContactService_ListSBOMOrganizationalContacts","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSBOMOrganizationalContactsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSBOMOrganizationalContacts","tags":["SBOMOrganizationalContactService"],"x-internal":true},"post":{"description":"Creates an SBOM organizational contact.","operationId":"SBOMOrganizationalContactService_CreateSBOMOrganizationalContact","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SBOMOrganizationalContactServiceCreateSBOMOrganizationalContactBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SBOMOrganizationalContact"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSBOMOrganizationalContact","tags":["SBOMOrganizationalContactService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/sbom-organizational-contacts/{uuid}":{"delete":{"description":"Deletes an SBOM organizational contact specified by its UUID.","operationId":"SBOMOrganizationalContactService_DeleteSBOMOrganizationalContact","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSBOMOrganizationalContact","tags":["SBOMOrganizationalContactService"],"x-internal":true},"get":{"description":"Fetches an SBOM organizational contact specified by its UUID.","operationId":"SBOMOrganizationalContactService_GetSBOMOrganizationalContact","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SBOMOrganizationalContact"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSBOMOrganizationalContact","tags":["SBOMOrganizationalContactService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scan-credit-usages":{"get":{"description":"Lists ScanCreditUsage records visible in the namespace.","operationId":"ScanCreditUsageService_ListScanCreditUsages","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanCreditUsagesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanCreditUsages","tags":["ScanCreditUsageService"]},"post":{"description":"Creates a ScanCreditUsage snapshot for a tenant. Called by the licensing\naggregation job at the end of each run.","operationId":"ScanCreditUsageService_CreateScanCreditUsage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanCreditUsageServiceCreateScanCreditUsageBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanCreditUsage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanCreditUsage","tags":["ScanCreditUsageService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scan-credit-usages/{uuid}":{"get":{"description":"Fetches a ScanCreditUsage record specified by its UUID.","operationId":"ScanCreditUsageService_GetScanCreditUsage","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanCreditUsage"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanCreditUsage","tags":["ScanCreditUsageService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-log-requests":{"post":{"description":"Create a scan log request.","operationId":"ScanLogRequestService_CreateScanLogRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanLogRequestServiceCreateScanLogRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanLogRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanLogRequest","tags":["ScanLogRequestService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-profiles":{"get":{"operationId":"ScanProfileService_ListScanProfiles","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanProfilesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanProfiles returns a list of toolchain profiles in a specified\nnamespace.","tags":["ScanProfileService"]},"post":{"operationId":"ScanProfileService_CreateScanProfile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanProfileServiceCreateScanProfileBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanProfile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanProfile creates a toolchain profile.","tags":["ScanProfileService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-profiles/{uuid}":{"delete":{"operationId":"ScanProfileService_DeleteScanProfile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScanProfile deletes a toolchain profile specified by its UUID.","tags":["ScanProfileService"]},"get":{"operationId":"ScanProfileService_GetScanProfile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanProfile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanProfile returns a toolchain profile specified by its UUID.","tags":["ScanProfileService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-requests":{"get":{"description":"Lists the scan requests in a given namespace.","operationId":"ScanRequestService_ListScanRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanRequests","tags":["ScanRequestService"],"x-internal":true},"post":{"description":"Creates a scan request.","operationId":"ScanRequestService_CreateScanRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanRequestServiceCreateScanRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanRequest","tags":["ScanRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scan-requests/{uuid}":{"delete":{"description":"Deletes a scan request specified by its UUID.","operationId":"ScanRequestService_DeleteScanRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScanRequest","tags":["ScanRequestService"],"x-internal":true},"get":{"description":"Fetches a scan request identified by a given UUID.","operationId":"ScanRequestService_GetScanRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanRequest","tags":["ScanRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scan-results":{"get":{"description":"List scan results based on the specified list parameters.","operationId":"ScanResultService_ListScanResults","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanResultsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanResults","tags":["ScanResultService"]},"post":{"description":"Create a scan result.","operationId":"ScanResultService_CreateScanResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanResultServiceCreateScanResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanResult","tags":["ScanResultService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-results/{uuid}":{"delete":{"description":"Delete a specified scan result.","operationId":"ScanResultService_DeleteScanResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScanResult","tags":["ScanResultService"]},"get":{"description":"Return a specified scan result.","operationId":"ScanResultService_GetScanResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanResult","tags":["ScanResultService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-workflow-results":{"get":{"description":"Lists all scan workflow results in a given namespace.","operationId":"ScanWorkflowResultService_ListScanWorkflowResults","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanWorkflowResultsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanWorkflowResults","tags":["ScanWorkflowResultService"]},"post":{"description":"Creates a scan workflow result in a given namespace.","operationId":"ScanWorkflowResultService_CreateScanWorkflowResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanWorkflowResultServiceCreateScanWorkflowResultBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflowResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanWorkflowResult","tags":["ScanWorkflowResultService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-workflow-results/{uuid}":{"delete":{"description":"Deletes a scan workflow result specified by its UUID.","operationId":"ScanWorkflowResultService_DeleteScanWorkflowResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScanWorkflowResult","tags":["ScanWorkflowResultService"]},"get":{"description":"Fetches comprehensive information about a scan workflow result identified by a given UUID.","operationId":"ScanWorkflowResultService_GetScanWorkflowResult","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflowResult"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanWorkflowResult","tags":["ScanWorkflowResultService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-workflows":{"get":{"description":"Lists all scan workflows in a given namespace.","operationId":"ScanWorkflowService_ListScanWorkflows","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScanWorkflowsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScanWorkflows","tags":["ScanWorkflowService"]},"post":{"description":"Creates a scan workflow in a given namespace.","operationId":"ScanWorkflowService_CreateScanWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanWorkflowServiceCreateScanWorkflowBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScanWorkflow","tags":["ScanWorkflowService"]}},"/v1/namespaces/{tenant_meta.namespace}/scan-workflows/{uuid}":{"delete":{"description":"Deletes a scan workflow specified by its UUID.","operationId":"ScanWorkflowService_DeleteScanWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScanWorkflow","tags":["ScanWorkflowService"]},"get":{"description":"Fetches comprehensive information about a scan workflow identified by a\ngiven UUID.","operationId":"ScanWorkflowService_GetScanWorkflow","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScanWorkflow"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScanWorkflow","tags":["ScanWorkflowService"]}},"/v1/namespaces/{tenant_meta.namespace}/scheduler-resource-histories":{"get":{"description":"Lists scheduler resource history records in a given namespace.","operationId":"SchedulerResourceHistoryService_ListSchedulerResourceHistories","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSchedulerResourceHistoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSchedulerResourceHistories","tags":["SchedulerResourceHistoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scheduler-resource-histories/{uuid}":{"get":{"description":"Fetches a scheduler resource history record identified by its UUID.","operationId":"SchedulerResourceHistoryService_GetSchedulerResourceHistory","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SchedulerResourceHistory"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSchedulerResourceHistory","tags":["SchedulerResourceHistoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scheduler-resource-histories:appendRun":{"post":{"description":"Atomically appends a run summary to the record's bounded ring buffer,\ncreating the record if absent, and stores the recomputed recommendation.\nUsed by the scheduler resource recorder on job completion.","operationId":"SchedulerResourceHistoryService_AppendSchedulerResourceHistoryRun","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchedulerResourceHistoryServiceAppendSchedulerResourceHistoryRunBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1AppendSchedulerResourceHistoryRunResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"AppendSchedulerResourceHistoryRun","tags":["SchedulerResourceHistoryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scm-credentials":{"get":{"operationId":"SCMCredentialService_ListSCMCredentials","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSCMCredentialsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSCMCredentials lists all SCM credentials in the given namespace.","tags":["SCMCredentialService"]},"post":{"operationId":"SCMCredentialService_CreateSCMCredential","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCMCredentialServiceCreateSCMCredentialBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMCredential"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSCMCredential creates an SCM credential in the given namespace.","tags":["SCMCredentialService"]}},"/v1/namespaces/{tenant_meta.namespace}/scm-credentials/{uuid}":{"delete":{"operationId":"SCMCredentialService_DeleteSCMCredential","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSCMCredential deletes the SCM credential specified by UUID.","tags":["SCMCredentialService"]},"get":{"operationId":"SCMCredentialService_GetSCMCredential","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMCredential"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSCMCredential fetches the SCM credential identified by UUID.","tags":["SCMCredentialService"]}},"/v1/namespaces/{tenant_meta.namespace}/scm_app":{"get":{"description":"Lists all SCM app.","operationId":"SCMAppService_ListSCMApp","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSCMAppResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSCMApp","tags":["SCMAppService"],"x-internal":true},"post":{"description":"Creates an SCM app.","operationId":"SCMAppService_CreateSCMApp","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCMAppServiceCreateSCMAppBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMApp"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSCMApp","tags":["SCMAppService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scm_app/{uuid}":{"delete":{"description":"Deletes an SCM app specified by the UUID.","operationId":"SCMAppService_DeleteSCMApp","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSCMApp","tags":["SCMAppService"],"x-internal":true},"get":{"description":"Fetches an SCM app identified by the UUID.","operationId":"SCMAppService_GetSCMApp","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMApp"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSCMApp","tags":["SCMAppService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scope-policies":{"get":{"description":"Lists all scope policies in a namespace.","operationId":"ScopePolicyService_ListScopePolicies","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListScopePoliciesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListScopePolicies","tags":["ScopePolicyService"],"x-internal":true},"post":{"description":"Creates a scope policy.","operationId":"ScopePolicyService_CreateScopePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopePolicyServiceCreateScopePolicyBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScopePolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateScopePolicy","tags":["ScopePolicyService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/scope-policies/{uuid}":{"delete":{"description":"Deletes the scope policy specified by the UUID.","operationId":"ScopePolicyService_DeleteScopePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteScopePolicy","tags":["ScopePolicyService"],"x-internal":true},"get":{"description":"Fetches the scope policy identified by the UUID.","operationId":"ScopePolicyService_GetScopePolicy","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ScopePolicy"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetScopePolicy","tags":["ScopePolicyService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/secret-rules":{"get":{"description":"Lists all secret rules in a namespace.","operationId":"SecretRuleService_ListSecretRules","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSecretRulesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSecretRules","tags":["SecretRuleService"]},"post":{"description":"Creates a secret rule.","operationId":"SecretRuleService_CreateSecretRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretRuleServiceCreateSecretRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecretRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSecretRule","tags":["SecretRuleService"]}},"/v1/namespaces/{tenant_meta.namespace}/secret-rules/{uuid}":{"delete":{"description":"Deletes the secret rule identified by the UUID.","operationId":"SecretRuleService_DeleteSecretRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSecretRule","tags":["SecretRuleService"]},"get":{"description":"Fetches the secret rule identified by the UUID.","operationId":"SecretRuleService_GetSecretRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecretRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSecretRule","tags":["SecretRuleService"]}},"/v1/namespaces/{tenant_meta.namespace}/security-review-pull-requests":{"get":{"description":"Lists the security review pull requests in a given namespace.","operationId":"SecurityReviewPullRequestService_ListSecurityReviewPullRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSecurityReviewPullRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSecurityReviewPullRequests","tags":["SecurityReviewPullRequestService"],"x-internal":true},"post":{"description":"Creates a security review pull request.\n\nThe creation of the resource will be an upsert operation if the given spec.external_id and spec.platform_resource\nare already available.","operationId":"SecurityReviewPullRequestService_CreateSecurityReviewPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityReviewPullRequestServiceCreateSecurityReviewPullRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecurityReviewPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateRepository","tags":["SecurityReviewPullRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/security-review-pull-requests/{uuid}":{"delete":{"description":"Deletes a security review pull request specified by its UUID.","operationId":"SecurityReviewPullRequestService_DeleteSecurityReviewPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSecurityReviewPullRequest","tags":["SecurityReviewPullRequestService"],"x-internal":true},"get":{"description":"Fetches a security review pull request identified by a given UUID.","operationId":"SecurityReviewPullRequestService_GetSecurityReviewPullRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SecurityReviewPullRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSecurityReviewPullRequest","tags":["SecurityReviewPullRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/segment-index-request":{"post":{"description":"Creates a segment index request.","operationId":"SegmentIndexRequestService_CreateSegmentIndexRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentIndexRequestServiceCreateSegmentIndexRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SegmentIndexRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSegmentIndexRequest","tags":["SegmentIndexRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/segment-match-validate-request":{"post":{"description":"Creates a segment match validate request.","operationId":"SegmentMatchValidateRequestService_CreateSegmentMatchValidateRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentMatchValidateRequestServiceCreateSegmentMatchValidateRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SegmentMatchValidateRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSegmentMatchValidateRequest","tags":["SegmentMatchValidateRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/segment-query-request":{"post":{"description":"Creates a segment query request.","operationId":"SegmentQueryRequestService_CreateSegmentQueryRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentQueryRequestServiceCreateSegmentQueryRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SegmentQueryRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSegmentQueryRequest","tags":["SegmentQueryRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/semgrep-rules":{"get":{"description":"Lists all Semgrep rules in the namespace.","operationId":"SemgrepRuleService_ListSemgrepRules","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSemgrepRulesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSemgrepRules","tags":["SemgrepRuleService"]},"post":{"description":"Creates a Semgrep rule.","operationId":"SemgrepRuleService_CreateSemgrepRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemgrepRuleServiceCreateSemgrepRuleBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SemgrepRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSemgrepRule","tags":["SemgrepRuleService"]}},"/v1/namespaces/{tenant_meta.namespace}/semgrep-rules/{uuid}":{"delete":{"description":"Deletes the rule specified by the UUID.","operationId":"SemgrepRuleService_DeleteSemgrepRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSemgrepRule","tags":["SemgrepRuleService"]},"get":{"description":"Fetches a Semgrep rule identified by the UUID.","operationId":"SemgrepRuleService_GetSemgrepRule","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SemgrepRule"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSemgrepRule","tags":["SemgrepRuleService"]}},"/v1/namespaces/{tenant_meta.namespace}/service-requests":{"get":{"description":"Lists all service requests in a namespace.","operationId":"ServiceRequestService_ListServiceRequests","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListServiceRequestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListServiceRequests","tags":["ServiceRequestService"],"x-internal":true},"post":{"operationId":"ServiceRequestService_CreateServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceRequestServiceCreateServiceRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ServiceRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateServiceRequest\nCreates a service request.","tags":["ServiceRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/service-requests/{uuid}":{"delete":{"description":"Deletes a service request specified by its UUID.","operationId":"ServiceRequestService_DeleteServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteServiceRequest","tags":["ServiceRequestService"],"x-internal":true},"get":{"description":"Lists a service request specified by its UUID.","operationId":"ServiceRequestService_GetServiceRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ServiceRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetServiceRequest","tags":["ServiceRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/service-token":{"post":{"description":"Creates a new service token.","operationId":"ServiceTokenService_CreateServiceToken","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceTokenServiceCreateServiceTokenBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ServiceToken"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateServiceToken","tags":["ServiceTokenService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/support-access-requests":{"post":{"description":"Creates a SupportAccessRequest request.","operationId":"SupportAccessRequestService_CreateSupportAccessRequest","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportAccessRequestServiceCreateSupportAccessRequestBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportAccessRequest"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSupportAccessRequest","tags":["SupportAccessRequestService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/supported-toolchain-profiles":{"get":{"operationId":"SupportedToolChainProfileService_ListSupportedToolChainProfiles","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSupportedToolChainProfilesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSupportedToolChainProfiles returns a list of toolchain profiles in a specified namespace.","tags":["SupportedToolChainProfileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/supported-toolchain-profiles/{uuid}":{"get":{"operationId":"SupportedToolChainProfileService_GetSupportedToolChainProfile","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainProfile"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["SupportedToolChainProfileService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/supported-toolchain-versions":{"get":{"operationId":"SupportedToolChainVersionService_ListSupportedToolChainVersions","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSupportedToolChainVersionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSupportedToolChainVersions returns a list of toolchain profiles in a specified namespace.","tags":["SupportedToolChainVersionService"],"x-internal":true},"post":{"operationId":"SupportedToolChainVersionService_CreateSupportedToolChainVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedToolChainVersionServiceCreateSupportedToolChainVersionBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSupportedToolChainVersion creates a toolchain profile.","tags":["SupportedToolChainVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/supported-toolchain-versions/{uuid}":{"delete":{"operationId":"SupportedToolChainVersionService_DeleteSupportedToolChainVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSupportedToolChainVersion deletes a toolchain profile specified by its UUID.","tags":["SupportedToolChainVersionService"],"x-internal":true},"get":{"operationId":"SupportedToolChainVersionService_GetSupportedToolChainVersion","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SupportedToolChainVersion"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSupportedToolChainVersion returns a toolchain profile specified by its UUID.","tags":["SupportedToolChainVersionService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/system-config":{"get":{"description":"Returns the system configuration as a list of length 1.","operationId":"SystemConfigService_ListSystemConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSystemConfigResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSystemConfig","tags":["SystemConfigService"]},"post":{"description":"Creates a system configuration object.","operationId":"SystemConfigService_CreateSystemConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemConfigServiceCreateSystemConfigBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SystemConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSystemConfig","tags":["SystemConfigService"]}},"/v1/namespaces/{tenant_meta.namespace}/system-config/{uuid}":{"delete":{"description":"Deletes the system configuration specified by the UUID.","operationId":"SystemConfigService_DeleteSystemConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteSystemConfig","tags":["SystemConfigService"]},"get":{"description":"Fetches the system configuration specified by the UUID.","operationId":"SystemConfigService_GetSystemConfig","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SystemConfig"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSystemConfig","tags":["SystemConfigService"]}},"/v1/namespaces/{tenant_meta.namespace}/table-row-groups":{"get":{"description":"Lists all table row groups.","operationId":"TableRowGroupService_ListTableRowGroups","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListTableRowGroupsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTableRowGroups","tags":["TableRowGroupService"],"x-internal":true},"post":{"description":"Creates a table row group.","operationId":"TableRowGroupService_CreateTableRowGroup","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowGroupServiceCreateTableRowGroupBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1TableRowGroup"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTableRowGroup","tags":["TableRowGroupService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/table-row-groups/{uuid}":{"delete":{"description":"Deletes the table row group specified by the UUID.","operationId":"TableRowGroupService_DeleteTableRowGroup","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteTableRowGroup","tags":["TableRowGroupService"],"x-internal":true},"get":{"description":"Fetches the table row group identified by the UUID.","operationId":"TableRowGroupService_GetTableRowGroup","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1TableRowGroup"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTableRowGroup","tags":["TableRowGroupService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/telemetries":{"post":{"description":"Creates a telemetry.","operationId":"TelemetryService_CreateTelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryServiceCreateTelemetryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Telemetry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTelemetry","tags":["TelemetryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/tool-patterns":{"get":{"description":"Lists tool patterns.","operationId":"ToolPatternService_ListToolPatterns","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListToolPatternsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListToolPatterns","tags":["ToolPatternService"],"x-internal":true},"post":{"description":"Creates a tool pattern.","operationId":"ToolPatternService_CreateToolPattern","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolPatternServiceCreateToolPatternBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ToolPattern"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateToolPattern","tags":["ToolPatternService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/tool-patterns/{uuid}":{"delete":{"description":"Deletes a tool pattern specified by the UUID.","operationId":"ToolPatternService_DeleteToolPattern","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteToolPattern","tags":["ToolPatternService"],"x-internal":true},"get":{"description":"Fetches a tool pattern identified by the UUID.","operationId":"ToolPatternService_GetToolPattern","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ToolPattern"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetToolPattern","tags":["ToolPatternService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ui-saved-views":{"get":{"description":"Lists all saved views in a namespace.","operationId":"UISavedViewService_ListUISavedViews","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListUISavedViewsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListUISavedViews","tags":["UISavedViewService"],"x-internal":true},"post":{"description":"Creates a saved view.","operationId":"UISavedViewService_CreateUISavedView","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UISavedViewServiceCreateUISavedViewBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UISavedView"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateUISavedView","tags":["UISavedViewService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ui-saved-views/{uuid}":{"delete":{"description":"Deletes the saved view specified by the UUID.","operationId":"UISavedViewService_DeleteUISavedView","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteUISavedView","tags":["UISavedViewService"],"x-internal":true},"get":{"description":"Fetches the saved view identified by the UUID.","operationId":"UISavedViewService_GetUISavedView","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UISavedView"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetUISavedView","tags":["UISavedViewService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/ui-telemetries":{"post":{"description":"Creates a UI telemetry message.","operationId":"UITelemetryService_CreateUITelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UITelemetryServiceCreateUITelemetryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UITelemetry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateUITelemetry","tags":["UITelemetryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/user-telemetries":{"get":{"description":"Lists all user telemetry objects in a given namespace.","operationId":"UserTelemetryService_ListUserTelemetries","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListUserTelemetriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListUserTelemetries","tags":["UserTelemetryService"],"x-internal":true},"post":{"description":"Creates a user telemetry message.","operationId":"UserTelemetryService_CreateUserTelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTelemetryServiceCreateUserTelemetryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UserTelemetry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateUserTelemetry","tags":["UserTelemetryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/user-telemetries/{uuid}":{"delete":{"description":"Deletes a user telemetry specified by the UUID.","operationId":"UserTelemetryService_DeleteUserTelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteUserTelemetry","tags":["UserTelemetryService"],"x-internal":true},"get":{"description":"Fetches the user telemetry identified by the UUID.","operationId":"UserTelemetryService_GetUserTelemetry","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UserTelemetry"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetUserTelemetry","tags":["UserTelemetryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vector-store-data":{"post":{"description":"Uploads data to the vector store.","operationId":"VectorStoreDataService_CreateVectorStoreData","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreDataServiceCreateVectorStoreDataBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreData","tags":["VectorStoreDataService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vector-store-data-delete-queries":{"post":{"description":"Deletes documents matching a filter.","operationId":"VectorStoreDataDeleteQueryService_CreateVectorStoreDataDeleteQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreDataDeleteQueryServiceCreateVectorStoreDataDeleteQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreDataDeleteQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreDataDeleteQuery","tags":["VectorStoreDataDeleteQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vector-store-data-metadata-update-queries":{"post":{"description":"Patches the metadata of documents matching a filter.","operationId":"VectorStoreDataMetadataUpdateQueryService_CreateVectorStoreDataMetadataUpdateQuery","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreDataMetadataUpdateQueryServiceCreateVectorStoreDataMetadataUpdateQueryBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStoreDataMetadataUpdateQuery"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStoreDataMetadataUpdateQuery","tags":["VectorStoreDataMetadataUpdateQueryService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vector-stores":{"get":{"description":"Lists all vector stores visible in a namespace.","operationId":"VectorStoreService_ListVectorStores","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListVectorStoresResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListVectorStores","tags":["VectorStoreService"],"x-internal":false},"post":{"description":"Creates an VectorStore.","operationId":"VectorStoreService_CreateVectorStore","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreServiceCreateVectorStoreBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStore"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVectorStore","tags":["VectorStoreService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vector-stores/{uuid}":{"delete":{"description":"Deletes an VectorStore specified by its UUID.","operationId":"VectorStoreService_DeleteVectorStore","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteVectorStore","tags":["VectorStoreService"],"x-internal":true},"get":{"description":"Fetches an VectorStore specified by its UUID.","operationId":"VectorStoreService_GetVectorStore","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VectorStore"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetVectorStore","tags":["VectorStoreService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/vendor-vex-statements":{"get":{"description":"Returns vendor VEX statements as a list.","operationId":"VendorVexStatementService_ListVendorVexStatements","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListVendorVexStatementsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListVendorVexStatements","tags":["VendorVexStatementService"],"x-internal":true},"post":{"description":"Creates a vendor VEX statement in the OSS namespace.","operationId":"VendorVexStatementService_CreateVendorVexStatement","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorVexStatementServiceCreateVendorVexStatementBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VendorVexStatement"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVendorVexStatement","tags":["VendorVexStatementService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vendor-vex-statements/{uuid}":{"get":{"description":"Fetches the vendor VEX statement specified by the UUID.","operationId":"VendorVexStatementService_GetVendorVexStatement","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VendorVexStatement"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetVendorVexStatement","tags":["VendorVexStatementService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/version-diffs":{"get":{"description":"Lists all version diffs in a namespace.","operationId":"ChangeImpactService_ListVersionDiffs","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListVersionDiffsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListVersionDiffs","tags":["ChangeImpactService"],"x-internal":true},"post":{"description":"Creates a version diff.\nThe creation of the resource will be an upsert if the\ngiven spec.external_id and spec.platform_resource are already available.","operationId":"ChangeImpactService_CreateVersionDiff","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeImpactServiceCreateVersionDiffBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VersionDiff"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVersionDiff","tags":["ChangeImpactService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/version-diffs/{uuid}":{"delete":{"description":"Deletes a version diff.","operationId":"ChangeImpactService_DeleteVersionDiff","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteVersionDiff","tags":["ChangeImpactService"],"x-internal":true},"get":{"description":"Fetches a version diff identified by the UUID.","operationId":"ChangeImpactService_GetVersionDiff","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VersionDiff"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetVersionDiff","tags":["ChangeImpactService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/version-upgrades":{"get":{"description":"Lists all version upgrades in the namespace.","operationId":"VersionUpgradeService_ListVersionUpgrades","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListVersionUpgradesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListVersionUpgrades","tags":["VersionUpgradeService"]},"post":{"description":"Creates a version upgrade.\nThe creation of the resource will be an upsert if the given spec.external_id and spec.platform_resource were already created.","operationId":"VersionUpgradeService_CreateVersionUpgrade","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUpgradeServiceCreateVersionUpgradeBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VersionUpgrade"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVersionUpgrade","tags":["VersionUpgradeService"]}},"/v1/namespaces/{tenant_meta.namespace}/version-upgrades/{uuid}":{"delete":{"description":"Deletes a version upgrade specified by the UUID.","operationId":"VersionUpgradeService_DeleteVersionUpgrade","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteVersionUpgrade","tags":["VersionUpgradeService"]},"get":{"description":"Fetches a version upgrade identified by the UUID.","operationId":"VersionUpgradeService_GetVersionUpgrade","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1VersionUpgrade"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetVersionUpgrade","tags":["VersionUpgradeService"]}},"/v1/namespaces/{tenant_meta.namespace}/vex-export":{"post":{"operationId":"VEXExportService_CreateVEXExport","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VEXExportServiceCreateVEXExportBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ExportedVEX"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["VEXExportService"]}},"/v1/namespaces/{tenant_meta.namespace}/vulnerabilities":{"get":{"description":"List all vulnerabilities in the namespace.","operationId":"VulnerabilityService_ListVulnerabilities","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListVulnerabilitiesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListVulnerabilities","tags":["VulnerabilityService"],"x-internal":false},"post":{"description":"Creates a vulnerability based on the ID.","operationId":"VulnerabilityService_CreateVulnerability","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VulnerabilityServiceCreateVulnerabilityBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Vuln"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateVulnerability","tags":["VulnerabilityService"],"x-internal":true}},"/v1/namespaces/{tenant_meta.namespace}/vulnerabilities/{uuid}":{"delete":{"description":"Deletes a vulnerability based on the UUID.","operationId":"VulnerabilityService_DeleteVulnerability","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"Action to be executed with delete request.","in":"query","name":"delete_parameters.action","schema":{"type":"string"}},{"description":"Force will force the deletion of the resource if any\nchecks fail.","in":"query","name":"delete_parameters.force","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteVulnerability","tags":["VulnerabilityService"],"x-internal":true},"get":{"description":"Fetches a vulnerability identified by the UUID.","operationId":"VulnerabilityService_GetVulnerability","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"get_parameters.mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Vuln"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetVulnerability","tags":["VulnerabilityService"],"x-internal":false}},"/v1/namespaces/{tenant_meta.namespace}/{parent_kind}/metric-configurations":{"get":{"description":"Lists all metrics associated with a given parent.","operationId":"MetricConfigurationService_ListMetricConfigurations","parameters":[{"description":"Namespaces are a way to organize organizational units into virtual\ngroupings of resources. Namespaces must be a fully qualified name,\nfor example, the child namespace of namespace \"endor.prod\" called \"app\"\nis called \"endor.prod.app\".","in":"path","name":"tenant_meta.namespace","required":true,"schema":{"type":"string"},"x-endor-name":"Namespace"},{"description":"The parent object is optional for the APIs that have such a parent relationship.","in":"path","name":"parent_kind","required":true,"schema":{"type":"string"}},{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"list_parameters.filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"list_parameters.page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"list_parameters.page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"list_parameters.action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"list_parameters.mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"list_parameters.traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"list_parameters.sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"list_parameters.sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"list_parameters.count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"list_parameters.group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"list_parameters.group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"list_parameters.ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"list_parameters.page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"list_parameters.group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"list_parameters.group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"list_parameters.group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"list_parameters.group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"list_parameters.group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"list_parameters.group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"list_parameters.group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"list_parameters.group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"list_parameters.group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"list_parameters.disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMetricConfigurationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMetrics","tags":["MetricConfigurationService"],"x-internal":true}},"/v1/onboard":{"post":{"description":"Creates an onboard.\nA root folder will be created along the onboard.\nThe folder will have the same name as the onboard.","operationId":"OnboardService_CreateOnboard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Onboard"}}},"description":"Onboard initiates the onboarding of a new tenant in the system.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Onboard"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateOnboard","tags":["OnboardService"],"x-internal":true}},"/v1/plugin-binaries":{"get":{"description":"Lists all the available plugin binaries.","operationId":"PluginBinaryService_ListPluginBinaries","parameters":[{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListPluginBinariesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListPluginBinaries","tags":["PluginBinaryService"],"x-internal":false},"post":{"description":"Creates an entry for a plugin binary.","operationId":"PluginBinaryService_CreatePluginBinary","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PluginBinary"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PluginBinary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreatePluginBinary","tags":["PluginBinaryService"],"x-internal":true}},"/v1/plugin-binaries/{uuid}":{"delete":{"description":"Deletes a plugin binary specified by the UUID.","operationId":"PluginBinaryService_DeletePluginBinary","parameters":[{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeletePluginBinary","tags":["PluginBinaryService"],"x-internal":true},"get":{"description":"Fetches a plugin binary identified by the UUID.","operationId":"PluginBinaryService_GetPluginBinary","parameters":[{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1PluginBinary"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetPluginBinary","tags":["PluginBinaryService"],"x-internal":false}},"/v1/scm-webhook-events":{"post":{"description":"Creates a SCM webhook event.","operationId":"SCMWebhookEventService_CreateSCMWebhookEvent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMWebhookEvent"}}},"description":"SCMWebhookEvent represents SCM webhook events that are processed by the system.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1SCMWebhookEvent"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSCMWebhookEvent","tags":["SCMWebhookEventService"],"x-internal":true}},"/v1/tenants":{"get":{"description":"Lists all tenants.","operationId":"TenantService_ListTenants","parameters":[{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListTenantsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTenants","tags":["TenantService"]},"patch":{"description":"Updates a specified tenant.","operationId":"TenantService_UpdateTenant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UpdateTenantRequest"}}},"description":"Request to update a tenant.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Tenant"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateTenant","tags":["TenantService"]},"post":{"description":"Creates a tenant.","operationId":"TenantService_CreateTenant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Tenant"}}},"description":"Tenant represents a tenant in the system.\n\nMostly includes tenant configuration parameters.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Tenant"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTenant","tags":["TenantService"]}},"/v1/tenants/{uuid}":{"delete":{"description":"Deletes a tenant specified by its UUID.","operationId":"TenantService_DeleteTenant","parameters":[{"description":"The UUID of the resource to be deleted.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteTenant","tags":["TenantService"]},"get":{"description":"Fetches a tenant specified by its UUID.","operationId":"TenantService_GetTenant","parameters":[{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1Tenant"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTenant","tags":["TenantService"]}},"/v1/users":{"get":{"description":"Lists all users.","operationId":"UserService_ListUsers","parameters":[{"description":"String of conditions to filter resources by.\nFilters may include any attribute along with the following operators:\n\"==\", \"!=\", \"\u003e\", \"\u003e=\", \"\u003c\", \"\u003c=\", \"Contains\", \"In\", \"Matches\", and\n\"Exists\". The logical operators \"And\" and \"Or\" are also supported.\nExpressions may be combined and grouped with parentheses.\n\nExamples:\n\"spec.value == 5\",\n\"spec.value in [\"a\", \"b\", \"c\"]\",\n\"(meta.name == \"xyz\" and \"spec.value in [\"a\",\"b\"]) or (spec.value ==\n\"c\")\".","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Set the page token to start from.\nUse page tokens to page through list results or list specific pages.","in":"query","name":"page_token","schema":{"format":"int32","type":"integer"}},{"description":"Set the page size to limit the number of results returned.\nDefault: 100. Max: 500.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Action to be executed with a request. Not supported for all endpoints.","in":"query","name":"action","schema":{"type":"string"}},{"description":"List of fields to return (all fields are returned by default).","in":"query","name":"mask","schema":{"type":"string"}},{"description":"Get data from any child namespaces as well.","in":"query","name":"traverse","schema":{"type":"boolean"}},{"description":"Field to sort objects by, for example, meta.name.","in":"query","name":"sort.path","schema":{"type":"string"}},{"description":"Sort order. Default: ASC.","in":"query","name":"sort.order","schema":{"default":"SORT_ENTRY_ORDER_UNSPECIFIED","enum":["SORT_ENTRY_ORDER_UNSPECIFIED","SORT_ENTRY_ORDER_ASC","SORT_ENTRY_ORDER_DESC"],"type":"string"}},{"description":"Return the number of objects matching the given list parameters.\nIf count is set to true, the response is a CountResponse.\nCan be used together with filter and traverse.","in":"query","name":"count","schema":{"type":"boolean"}},{"description":"Group the objects based on this field.\nIf there are multiple fields then the objects are grouped\nbased on the uniqueness of all fields.\nSupports composite paths.\nSupports arrays and maps.","in":"query","name":"group.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUID of each object in each group as specified by\naggregation_paths.","in":"query","name":"group.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"List of fields for which we want the unique count.\nSupports arrays and maps.","in":"query","name":"group.unique_count_paths","schema":{"type":"string"}},{"description":"List of fields for which we want the unique values.\nSupports arrays and maps.","in":"query","name":"group.unique_value_paths","schema":{"type":"string"}},{"description":"Only return objects from PR scans that match this context id.","in":"query","name":"ci_run_uuid","schema":{"type":"string"}},{"description":"Page ID to retrieve.","in":"query","name":"page_id","schema":{"type":"string"}},{"description":"Group the objects based on this time field,\nfor example, meta.create_time.","in":"query","name":"group_by_time.aggregation_paths","schema":{"type":"string"}},{"description":"Return the UUIDs of the objects in each group.","in":"query","name":"group_by_time.show_aggregation_uuids","schema":{"type":"boolean"}},{"description":"Interval unit by which the objects should be grouped.","in":"query","name":"group_by_time.interval","schema":{"default":"GROUP_BY_TIME_INTERVAL_UNSPECIFIED","enum":["GROUP_BY_TIME_INTERVAL_UNSPECIFIED","GROUP_BY_TIME_INTERVAL_YEAR","GROUP_BY_TIME_INTERVAL_QUARTER","GROUP_BY_TIME_INTERVAL_MONTH","GROUP_BY_TIME_INTERVAL_WEEK","GROUP_BY_TIME_INTERVAL_DAY","GROUP_BY_TIME_INTERVAL_HOUR","GROUP_BY_TIME_INTERVAL_MINUTE","GROUP_BY_TIME_INTERVAL_SECOND"],"type":"string"}},{"description":"Size of the time interval to group the objects by,\nfor example, to group objects by 2-week intervals, set interval\nto GROUP_BY_TIME_INTERVAL_WEEK and group_size to 2.","in":"query","name":"group_by_time.group_size","schema":{"format":"int32","type":"integer"}},{"description":"Beginning of the time period to group objects.\nDefaults to the beginning of time.","in":"query","name":"group_by_time.start_time","schema":{"format":"date-time","type":"string"}},{"description":"End of the time period to group objects.\nDefaults to the current time.","in":"query","name":"group_by_time.end_time","schema":{"format":"date-time","type":"string"}},{"description":"The mode determines how the matching objects are counted\nin the produced time-series. Values allowed are:\ncount (default) : is the number of items matching in every interval.\nsum: is the total number of items matching since the beginning of the\naggregation time.","in":"query","name":"group_by_time.mode","schema":{"type":"string"}},{"description":"The aggregation_field is a field on the matched objects that we want to\nperform some operation in each interval (example : min, max, avg)","in":"query","name":"group_by_time.aggregation_value_field","schema":{"type":"string"}},{"description":"The aggreation_operator is the operator that we should use for the\naggregation. Allowed values are: min, max, sum, avg","in":"query","name":"group_by_time.aggregation_operator","schema":{"type":"string"}},{"description":"If true, the results will not be paginated and\nonly the first page will be returned. The order\nof the results is not guaranteed.","in":"query","name":"disable_pagination","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListUsersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListUsers","tags":["UserService"],"x-internal":true},"patch":{"description":"Updates a specific user. Not exposed to public API.","operationId":"UserService_UpdateUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UpdateUserRequest"}}},"description":"Request to update a user.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1User"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateUser","tags":["UserService"],"x-internal":true},"post":{"description":"Creates a user in a given namespace. Not exposed to public API.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1User"}}},"description":"User represents a user in the system.\n\nMostly includes configuration parameters that are user wise.","required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1User"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateUser","tags":["UserService"],"x-internal":true}},"/v1/users/{uuid}":{"get":{"description":"Fetches a user specified by their UUID","operationId":"UserService_GetUser","parameters":[{"description":"The UUID of the requested resource.","in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1User"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetUser","tags":["UserService"],"x-internal":true}}},"servers":[{"description":"US (default)","url":"https://api.endorlabs.com"},{"description":"EU (data residency)","url":"https://api.eu.endorlabs.com"}],"tags":[{"name":"AgentAuditLogService"},{"name":"AgentCatalogService"},{"name":"AgentConfigService"},{"name":"AgentHookEventService"},{"name":"AgentHookPolicyDefinitionService"},{"name":"AgentSessionService"},{"name":"AgentSessionCountQueryService"},{"name":"AgentTelemetryService"},{"name":"AgentToolService"},{"name":"AgentWorkflowService"},{"name":"AgenticAggregateService"},{"name":"AgenticInventoryService"},{"name":"AICreditMetricService"},{"name":"AIEmbeddingsRequestService"},{"name":"AIProviderKeyService"},{"name":"AIQueryService"},{"name":"AIRequestService"},{"name":"AISastCustomerContextService"},{"name":"AISastContextSummaryService"},{"name":"AISASTScanCacheService"},{"name":"AnalyticsExecutionRecordService"},{"name":"APIKeyValidatorService"},{"name":"APIKeyService"},{"name":"ApproveServiceRequestService"},{"name":"ArtifactLogService"},{"name":"ArtifactOperationService"},{"name":"ArtifactSignatureService"},{"name":"AssuredPackageVersionService"},{"name":"AsyncJobService"},{"name":"AuditLogService"},{"name":"ArchivedAuditLogService"},{"name":"AuthenticationService"},{"name":"AuthenticationLogService"},{"name":"AuthorizationPolicyService"},{"name":"AuthorizationService"},{"name":"CallGraphDataService"},{"name":"CIRunService"},{"name":"ChangeImpactService"},{"name":"ClientLogService"},{"name":"CodeOwnersService"},{"name":"AgentDirectoryEntryService"},{"name":"ComplianceEnrollmentService"},{"name":"ContainerBaseImageUpdateImpactQueryService"},{"name":"ContainerBaseImageUpdateImpactRecordsQueryService"},{"name":"ContainerContextDiffQueryService"},{"name":"ContainerContextDiffRecordsQueryService"},{"name":"ContributorService"},{"name":"ContributorHistoryService"},{"name":"ContributorIdentityMappingService"},{"name":"CertificateRequestService"},{"name":"CustomTemplateService"},{"name":"DashboardConfigService"},{"name":"DashboardSummaryQueryService"},{"name":"DemoService"},{"name":"DependencyMetadataService"},{"name":"BatchDependencyMetadataService"},{"name":"DepsDevPackageService"},{"name":"DetectLicenseQueryService"},{"name":"DistinctEntryService"},{"name":"EndorIgnoreEntryService"},{"name":"EndorLicenseService"},{"name":"ErrorParsingRuleService"},{"name":"EvaluationMethodService"},{"name":"EvaluationParameterService"},{"name":"ExporterService"},{"name":"ExternalProviderModelService"},{"name":"FeedbackService"},{"name":"FileSegmentsService"},{"name":"BatchFileSegmentsService"},{"name":"FileHashQueryRequestService"},{"name":"FindingService"},{"name":"FindingLogService"},{"name":"FindingLogAggregateService"},{"name":"FunctionGraphDataService"},{"name":"GHEAppRegistrationService"},{"name":"GithubTokenService"},{"name":"HuggingFaceModelService"},{"name":"HuggingFaceOrganizationService"},{"name":"IdentityProviderService"},{"name":"SegmentIndexRequestService"},{"name":"FunctionSummaryQueryService"},{"name":"FunctionSummaryHashesQueryService"},{"name":"IngestionStateService"},{"name":"InstallationService"},{"name":"QueryIntegrationResourceService"},{"name":"InvitationService"},{"name":"IPAddressPolicyService"},{"name":"JobService"},{"name":"JVMClassMetadataService"},{"name":"LicenseService"},{"name":"LicenseDependencyService"},{"name":"LicenseNoticesReportService"},{"name":"LicenseSummaryService"},{"name":"LinterResultService"},{"name":"MalwareService"},{"name":"QueryMalwareService"},{"name":"MalwareDetectionAnalysisTaskService"},{"name":"MalwareDetectionArtifactDownloadStatusService"},{"name":"MalwareDetectionAssessmentService"},{"name":"MalwareDetectionAssessmentPromotionService"},{"name":"MalwareDetectionIoCService"},{"name":"MalwareDetectionPackageService"},{"name":"MalwareDetectionPackageIoCService"},{"name":"MalwareDetectionWorkflowService"},{"name":"MalwareExposureService"},{"name":"MalwareExposureQueryService"},{"name":"MCPServerLogService"},{"name":"MetricService"},{"name":"MetricConfigurationService"},{"name":"NamespaceService"},{"name":"NotificationService"},{"name":"BatchNotificationService"},{"name":"NotificationActionService"},{"name":"NotificationTargetService"},{"name":"OnboardService"},{"name":"OnPremSchedulerService"},{"name":"OptimizedQueryService"},{"name":"OrganizationAllowedWorkflowsService"},{"name":"OrganizationBlockListService"},{"name":"OrganizationCICDPermissionsService"},{"name":"OrganizationCustomPermissionListService"},{"name":"OrganizationCustomRoleListService"},{"name":"OrganizationHookService"},{"name":"OrganizationInstallationListService"},{"name":"OrganizationInvitationListService"},{"name":"OrganizationMemberListService"},{"name":"OrganizationOutsideCollaboratorListService"},{"name":"OrganizationRunnerGroupConfigService"},{"name":"OrganizationSecurityManagerListService"},{"name":"OrganizationWorkflowPermissionsService"},{"name":"OSSDependencyRequestService"},{"name":"PackageService"},{"name":"PackageFirewallLogService"},{"name":"PackageLicenseService"},{"name":"PackageLicenseOverrideService"},{"name":"PackageLicenseQueryService"},{"name":"BatchPackageLicenseQueryService"},{"name":"PackageManagerService"},{"name":"PackageVersionService"},{"name":"PackageVersionLicenseQueryService"},{"name":"PackageVersionsMetadataService"},{"name":"PackageVersionMetadataQueryService"},{"name":"PackageVersionSourceMetadataService"},{"name":"PlatformAccountService"},{"name":"PlatformOrganizationService"},{"name":"PluginBinaryService"},{"name":"PolicyService"},{"name":"PolicyTemplateService"},{"name":"PolicyValidationService"},{"name":"PRCommentConfigService"},{"name":"ProjectService"},{"name":"ProjectSummaryService"},{"name":"ProvisioningResultService"},{"name":"QueryService"},{"name":"RegistryIngestionCheckpointService"},{"name":"RepositoryService"},{"name":"RepositoryBranchProtectionService"},{"name":"RepositoryCheckRunService"},{"name":"RepositoryCodeownersFileService"},{"name":"RepositoryCollaboratorsService"},{"name":"RepositoryCommitService"},{"name":"RepositoryDeploymentEnvConfigService"},{"name":"RepositoryHookService"},{"name":"RepositoryIssueService"},{"name":"RepositoryPullRequestService"},{"name":"RepositoryReleaseService"},{"name":"RepositoryScanMetadataService"},{"name":"RepositoryStatusService"},{"name":"RepositoryTagProtectionService"},{"name":"RepositoryVersionService"},{"name":"RequestAssuredPackageVersionService"},{"name":"RuleSetImportService"},{"name":"SavedQueryService"},{"name":"SBOMExportService"},{"name":"SBOMImportService"},{"name":"SBOMOrganizationalContactService"},{"name":"ScanCreditUsageService"},{"name":"ScanLogRequestService"},{"name":"ScanProfileService"},{"name":"ScanRequestService"},{"name":"ScanResultService"},{"name":"ScanWorkflowService"},{"name":"ScanWorkflowResultService"},{"name":"SchedulerResourceHistoryService"},{"name":"SCMAppService"},{"name":"SCMCredentialService"},{"name":"SCMWebhookEventService"},{"name":"ScopePolicyService"},{"name":"SecretRuleService"},{"name":"SecurityReviewPullRequestService"},{"name":"SecurityReviewQueryService"},{"name":"SegmentMatchValidateRequestService"},{"name":"SegmentQueryRequestService"},{"name":"SemgrepRuleService"},{"name":"ServiceRequestService"},{"name":"ServiceTokenService"},{"name":"QuerySimilarPackagesService"},{"name":"SupportAccessRequestService"},{"name":"SupportedToolChainProfileService"},{"name":"SupportedToolChainVersionService"},{"name":"SystemConfigService"},{"name":"TableRowGroupService"},{"name":"TelemetryService"},{"name":"TenantService"},{"name":"ToolPatternService"},{"name":"UISavedViewService"},{"name":"UITelemetryService"},{"name":"UserService"},{"name":"UserInfoService"},{"name":"UserTelemetryService"},{"name":"VectorStoreService"},{"name":"VectorStoreQueryService"},{"name":"VectorStoreMetadataQueryService"},{"name":"VectorStoreDataService"},{"name":"VectorStoreDataDeleteQueryService"},{"name":"VectorStoreDataMetadataUpdateQueryService"},{"name":"VectorStoreDataDocumentConsistencyQueryService"},{"name":"VendorVexStatementService"},{"name":"VersionUpgradeService"},{"name":"VEXExportService"},{"name":"VulnerabilityService"},{"name":"QueryVulnerabilityService"}]}