openapi: 3.2.0 info: title: Harness Sbom Drift API version: '1.0' description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0. contact: name: API Support email: contact@harness.io url: https://harness.io/ x-logo: url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook altText: Harness termsOfService: https://harness.io/terms-of-use/ servers: - url: https://app.harness.io description: Harness host URL - url: https://{vanity} description: Vanity URL variables: vanity: default: app.harness.io security: - x-api-key: [] tags: - name: sbomDrift paths: /v1/orgs/{org}/projects/{project}/artifact/{artifact}/sbom-drift: parameters: - $ref: '#/components/parameters/OrgParam1' - $ref: '#/components/parameters/ProjectParam1' - schema: type: string name: artifact in: path required: true description: Artifact ID post: summary: Calculate Drift For Artifact operationId: calculateDriftForArtifact responses: '200': $ref: '#/components/responses/ArtifactSbomDriftResponseBody' '400': description: Bad Request '500': description: Internal Server Error x-stoplight: id: 3dsr9opyxu1dg description: This API calculates and stores drift between 2 versions of an artifact with TTL of 1 hour. tags: - sbomDrift security: - x-api-key: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/ArtifactSbomDriftRequestBody' parameters: - $ref: '#/components/parameters/AccountHeader6' /v1/orgs/{org}/projects/{project}/sbom-drift/{drift}/components: parameters: - $ref: '#/components/parameters/OrgParam1' - $ref: '#/components/parameters/ProjectParam1' - schema: type: string name: drift in: path required: true description: SBOM Drift ID get: summary: Get Component Drift tags: - sbomDrift responses: '200': $ref: '#/components/responses/ComponentDriftResponseBody' '400': description: Bad Request '500': description: Internal Server Error operationId: getComponentDrift x-stoplight: id: yrpb128gv7y08 description: Get component drift for provided drift ID. security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader6' - schema: type: string enum: - all - added - modified - deleted in: query name: status description: Provide status of components drift to be returned - $ref: '#/components/parameters/Page2' - $ref: '#/components/parameters/Limit6' - schema: type: string in: query name: search_term description: Search for components by name. /v1/orgs/{org}/projects/{project}/sbom-drift/{drift}/licenses: parameters: - $ref: '#/components/parameters/OrgParam1' - $ref: '#/components/parameters/ProjectParam1' - schema: type: string name: drift in: path required: true description: SBOM Drift ID get: summary: Get License Drift tags: - sbomDrift responses: '200': $ref: '#/components/responses/LicenseDriftResponseBody' '400': description: Bad Request '500': description: Internal Server Error operationId: getLicenseDrift x-stoplight: id: 46l29mrkygarx description: Get license drift for provided drift ID. security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader6' - schema: type: string enum: - all - added - deleted in: query name: status description: Provide status of components drift to be returned - $ref: '#/components/parameters/Page2' - $ref: '#/components/parameters/Limit6' - schema: type: string in: query name: search_term description: Search for licenses by name. components: parameters: Page2: name: page in: query required: false schema: type: integer default: 0 minimum: 0 description: "Pagination page number strategy: Specify the page number within the paginated collection related to the number of items in each page\t" Limit6: name: limit in: query schema: type: integer default: 30 maximum: 1000 minimum: 1 description: Number of items to return per page. OrgParam1: name: org in: path required: true schema: type: string description: Harness organization ID AccountHeader6: name: Harness-Account in: header required: true schema: type: string description: Identifier field of the account the resource is scoped to. This is required for Authorization methods other than the x-api-key header. If you are using the x-api-key header, this can be skipped. ProjectParam1: in: path required: true schema: type: string description: Harness project ID name: project schemas: LicenseDriftSummary: title: LicenseDriftSummary x-stoplight: id: xqrznhby6s5pm type: object properties: total: type: integer x-stoplight: id: rv3e26us1gpns description: Total number of license drifts. added: type: integer x-stoplight: id: i712aeyzprqnp description: Total number of licenses added. deleted: type: integer x-stoplight: id: 78xi96muf5dzy description: Total number of licenses deleted required: - total - added - deleted description: Provides License Drift Summary ComponentSummary: type: object x-examples: Example 1: package_name: string package_version: string package_supplier: string package_manager: string purl: string package_license: string filter_tags: type: array x-stoplight: id: 7g4k2ra6i06bh items: $ref: '#/components/schemas/LayerType' title: ComponentSummary description: Provides component summary properties: package_name: type: string description: Component Name package_version: type: string description: Component Version package_supplier: type: string description: Component Supplier package_manager: type: string description: Package manager of component purl: type: string description: purl of component package_license: type: string description: Licenses of component filter_tags: type: array x-stoplight: id: 7g4k2ra6i06bh items: $ref: '#/components/schemas/LayerType' x-stoplight: id: ml8xhgivh3dyk ArtifactSbomDriftResponse: title: ArtifactSbomDriftResponse x-stoplight: id: 8wtldj2bdrxbl type: object description: Response body for sbom drift calculation between 2 artifact versions. required: - drift_id - tag - base_tag - artifact_name - total_drifts properties: drift_id: type: string x-stoplight: id: abkvlxxav7a0m description: Drift ID to get the drift results tag: type: string x-stoplight: id: r8jspopjepniy description: Tag on which drift was calculated base_tag: type: string x-stoplight: id: vp5s1sanmd26h description: Base tag from which drift was calculated artifact_name: type: string x-stoplight: id: v2iqwtzrsb78d description: Artifact name total_drifts: type: integer x-stoplight: id: qii5blwextc6b description: Sum total of component and license drifts. component_drift_summary: $ref: '#/components/schemas/ComponentDriftSummary' license_drift_summary: $ref: '#/components/schemas/LicenseDriftSummary' ArtifactSbomDriftRequestBody: title: ArtifactSbomDriftRequestBody x-stoplight: id: n0v1tljx2yttx type: object properties: tag: type: string x-stoplight: id: sl8ssim1u8uk5 description: Tag on which drift has to be calculated base_tag: type: string x-stoplight: id: i4g6dfh1vcksu description: Base tag to calculate drift from required: - tag - base_tag description: Request body for caclulating drift between 2 versions of artifact LicenseDrift: title: LicenseDrift x-stoplight: id: t284iz1qxez0u type: object properties: status: x-stoplight: id: r2e6nepnq5d4i description: 'Status of license ' enum: - added - deleted license: type: string x-stoplight: id: 6qcrhmnaue2jt description: License name components: type: array x-stoplight: id: vrimmuw32htbc items: $ref: '#/components/schemas/ComponentSummary' description: Element of license drift LayerType: title: LayerType enum: - BASE - APP - DISTRO x-stoplight: id: 151c5cf8ekave ComponentDrift: type: object x-examples: Example 1: status: ADDED / MODIFIED / DELETED old_component: package_name: string package_version: string package_supplier: string package_manager: string purl: string package_license: string new_component: package_name: string package_version: string package_supplier: string package_manager: string purl: string package_license: string title: Component Drift description: Compnent Drift model properties: status: enum: - modified - added - deleted description: Provides status of component whether it got added, deleted or modified old_component: $ref: '#/components/schemas/ComponentSummary' new_component: $ref: '#/components/schemas/ComponentSummary' x-stoplight: id: uy3wrdn73yshg ComponentDriftSummary: title: ComponentDriftSummary x-stoplight: id: b32uzhtuywe2w type: object description: Component drift summary properties: total: type: integer x-stoplight: id: hxyal6jm7n1op description: Total number of component drifts. added: type: integer x-stoplight: id: r0v4mbai7xjnj description: Number of components added. deleted: type: integer x-stoplight: id: cloho1oa3yqwg description: Number of components deleted. modified: type: integer x-stoplight: id: eg71m292ud719 description: Number of components modified. required: - total - added - deleted - modified responses: ComponentDriftResponseBody: description: Component Drift Response content: application/json: schema: type: array items: $ref: '#/components/schemas/ComponentDrift' headers: X-Total-Elements: $ref: '#/components/headers/X-Total-Elements' X-Page-Number: $ref: '#/components/headers/X-Page-Number' X-Page-Size: $ref: '#/components/headers/X-Page-Size' LicenseDriftResponseBody: description: List of license drifts. content: application/json: schema: type: array items: $ref: '#/components/schemas/LicenseDrift' headers: X-Total-Elements: $ref: '#/components/headers/X-Total-Elements' X-Page-Number: $ref: '#/components/headers/X-Page-Number' X-Page-Size: $ref: '#/components/headers/X-Page-Size' ArtifactSbomDriftResponseBody: description: Response body for calculating drift between 2 artifact versions. content: application/json: schema: $ref: '#/components/schemas/ArtifactSbomDriftResponse' headers: X-Page-Size: schema: type: integer description: Maximum page size in Paginated response. X-Total-Elements: schema: type: integer description: Total number of elements returned in Paginated response. X-Page-Number: schema: type: integer description: Page number in Paginated response. securitySchemes: x-api-key: name: x-api-key type: apiKey in: header description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint. externalDocs: description: Find out more about Swagger url: http://swagger.io x-stoplight: id: oc91t4vrfnjyi x-tagGroups: - name: Organizations tags: - Organization - name: Projects tags: - Org Project - Project - name: Secrets tags: - Account Secret - Org Secret - Project Secret - Secrets - name: Connectors tags: - Account Connector - Org Connector - Project Connector - Connectors - GoogleSecretManagerConnector - name: Roles tags: - Account Roles - Organization Roles - Project Roles - Roles - name: Resource Groups tags: - Account Resource Groups - Organization Resource Groups - Project Resource Groups - Filter Resource Groups - Harness Resource Group - Zendesk - name: Role Assignments tags: - Account Role Assignments - Org Role Assignments - Project Role Assignments - Role Assignments - name: Platform tags: - Access Control List - Account Banner - Account Banner - Account Licensed Modules - Account License Type - Account Webhooks - AccountSetting - Accounts - Analyze Account Access Policy - Analyze Organization Access Policy - Analyze Project Access Policy - ApiKey - Audit - AuditFilters - Authentication Settings - Canny - Devops Essentials License Data By Account - EULA - Filter - Harness Resource Type - Invite - IP Allowlist - Nextgen Ldap - Notification Channels - Notification Rules - OIDC - Oidc-Access-Token - Oidc-ID-Token - Org Webhooks - Permissions - Project Webhooks - Secret Managers - Service Account - Setting - SMTP - Source Code Manager - Token - User - User Group - Variables - name: Delegate tags: - Agent mTLS Endpoint Management - Delegate Download Resource - Delegate Group Tags Resource - Delegate Setup Resource - Delegate Token Resource - name: Pipelines tags: - Pipelines - Input Sets - Approvals - Pipeline Execution - Pipeline Dashboard - Pipeline Input Set - Pipeline - Pipeline Execution Details - Pipeline Execute - Pipeline Refresh - Pipeline data retention - Triggers - TriggersEvents - Webhook Triggers - Webhook Event Handler - DryRunPipeline - name: Artifact Registry tags: - Registries - Artifacts - Docker Artifacts - Helm Artifacts - quarantine - Webhooks - Spaces - Replication - Registry V3 - Registries - Registry V3 - Packages - Registry V3 - Versions - Registry V3 - Files - Registry V3 - Metadata - Registry V3 - Firewall - Registry V3 - Transfer - name: Database DevOps tags: - Database Schema - Database Instance - Deployed State - Execution Config - Migration State - name: CD tags: - K8s Release Service Mapping - CustomDeployment - Environments - EnvironmentGroup - Infrastructures - Usage - File Store - Service Dashboard - ServiceOverrides - Rollback - tas - name: Deployment Freeze tags: - Freeze CRUD - Freeze Evaluation - Freeze Schema - name: Services tags: - Account Services - Org Services - Project Services - Services - name: Rancher Infrastructures tags: - Account Rancher Infrastructure - Org Rancher Infrastructure - Project Rancher Infrastructure - name: Templates tags: - Account Template - Org Template - Project Template - Templates - Global Templates - name: GitOps tags: - Agents - Application - Applications - Certificates - Clusters - Dashboard Aggregates - Dashboards - GnuPGP Keys - GPG Keys - Hosts - Project mappings - Projects - Reconciler - Repositories - Repository Certificates - Repository credentials - ValidateHost - name: GitX tags: - GitX Webhooks - Org Gitx Webhooks - Project Gitx Webhooks - name: CACM tags: - Anomalies Ignorelist Rule - Anomalies - BI Dashboards - Budgets - Budget Groups - Cost Categories - Cloud Accounts - K8S Connectors Metadata - Notification Settings v2 - Overview - Data Job Status - Recommendation cost settings - Unit Metric - Anomaly Comments - Cloud and AI cost anomaly details - Cloud and AI cost anomalies v2 - Cost Details - Currency Preferences - External Data Provider - AiEngine - CACM governance cost settings - Governance Enforcement Recommendation APIs - Governance Alert - Governance Overview - Governance Recommendation APIs - RuleEnforcement - Rule Executions - Rule - Rule Sets - Perspectives Folders - Perspective Reports - Perspectives - Cost Category Jira Project Mapping - Recommendations Details - Recommendations - Recommendation Jira - Recommendation Preferences - Recommendation Presets - Recommendation Servicenow - Recommendation Tags - Recommendation Ignore List - AutoStopping Rules - AutoStopping Rules V2 - AutoStopping Load Balancers - AutoStopping Fixed Schedules - AutoStopping Alerts - Commitment Orchestrator Events APIs - name: Feature Flags tags: - API Keys - Feature Flags - Targets - Target Groups - Environment Perspectives - Anomalies - Proxy - Tags - name: SRM tags: - Monitored Services - SLOs dashboard - NG SLOs - SLOs - Downtime - Srm Notification - name: Internal Developer Portal - IDP tags: - Entities - Teams - CatalogCustomProperties - Scores - DataSource - KubernetesDataPoints - AggregationRules - AppConfig - PluginInfo - LayoutProxy - Kinds - LayoutsV3 - LayoutsV4 - name: Environment Management - IDP tags: - Environment - Infrastructure - Instance - name: Custom Dashboards tags: - aida - dashboards - downloads - embed - folders - name: Policy Management tags: - dashboard - examples - policies - evaluate - evaluations - policysets - system - name: Code tags: - repository - status_checks - pullreq - upload - webhook - resource - rules - labels - name: IaCM tags: - usage - approvals - costs - executions - module-registry - workspaces - settings - tf-standard-backend - variables - name: STO tags: - Exemptions - Issues - Scans - Products - Test Targets - Target Variants - name: SEI tags: - Collection categories - Collections - Contributors - DORA - name: Git Sync (deprecated) tags: - Git Branches - Git Full Sync - Git Sync Settings - Git Sync - Git Sync Errors - name: Error Models tags: - Error Response - Governance Metadata - name: Supply Chain Security tags: - integration - PipelineInfraConfig - SBOM - Integration Step Config - Delete Step Config - Delete Repositories - Pipeline Store Config - Evidence Vault [Beta] - name: Release Management tags: - Release Groups - Releases - Orchestration Processes - Orchestration Activities - Orchestration Executions - Conflicts - Freeze - Reports - Uploads - name: Resilience Testing tags: - Actions - Action Templates - Chaos Components - Chaos Hubs - ChaosGuard Conditions - ChaosGuard Rules - DR Tests - Experiments - Experiment Templates - Faults - Fault Templates - Chaos Infrastructure - Health - Network Maps - Onboarding - Probes - Probe Templates - Chaos Recommendations - Risks