{ "components": { "schemas": { "databasetypes.JSONB": { "additionalProperties": {}, "type": "object" }, "dtos.AcceptInvitationRequest": { "properties": { "code": { "type": "string" } }, "required": [ "code" ], "type": "object" }, "dtos.ArtifactDTO": { "properties": { "artifactName": { "type": "string" }, "assetId": { "type": "string" }, "assetVersionName": { "type": "string" } }, "type": "object" }, "dtos.AssetCreateRequest": { "properties": { "availabilityRequirement": { "type": "string" }, "centralDependencyVulnManagement": { "type": "boolean" }, "confidentialityRequirement": { "type": "string" }, "cvssAutomaticTicketThreshold": { "type": "number" }, "description": { "type": "string" }, "enableTicketRange": { "type": "boolean" }, "importance": { "type": "integer" }, "integrityRequirement": { "type": "string" }, "name": { "type": "string" }, "reachableFromInternet": { "type": "boolean" }, "repositoryProvider": { "description": "either null or github or gitlab, etc.", "enum": [ "github", "gitlab" ], "type": "string" }, "riskAutomaticTicketThreshold": { "type": "number" } }, "required": [ "availabilityRequirement", "confidentialityRequirement", "integrityRequirement", "name" ], "type": "object" }, "dtos.AssetDTO": { "properties": { "availabilityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "avatar": { "type": "string" }, "centralDependencyVulnManagement": { "type": "boolean" }, "confidentialityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "cvssAutomaticTicketThreshold": { "type": "number" }, "description": { "type": "string" }, "enableTicketRange": { "type": "boolean" }, "externalEntityId": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "id": { "type": "string" }, "integrityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "isPublic": { "type": "boolean" }, "name": { "type": "string" }, "paranoidMode": { "type": "boolean" }, "pipelineError": { "type": "string" }, "pipelineLastRun": { "type": "string" }, "projectId": { "type": "string" }, "reachableFromInternet": { "type": "boolean" }, "refs": { "items": { "$ref": "#/components/schemas/dtos.AssetVersionDTO" }, "type": "array", "uniqueItems": false }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "repositoryProvider": { "type": "string" }, "riskAutomaticTicketThreshold": { "type": "number" }, "sharesInformation": { "type": "boolean" }, "signingPubKey": { "type": "string" }, "slug": { "type": "string" }, "vulnAutoReopenAfterDays": { "type": "integer" } }, "type": "object" }, "dtos.AssetDetailsDTO": { "properties": { "availabilityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "avatar": { "type": "string" }, "centralDependencyVulnManagement": { "type": "boolean" }, "confidentialityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "cvssAutomaticTicketThreshold": { "type": "number" }, "description": { "type": "string" }, "enableTicketRange": { "type": "boolean" }, "externalEntityId": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "id": { "type": "string" }, "integrityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "isPublic": { "type": "boolean" }, "members": { "items": { "$ref": "#/components/schemas/dtos.UserDTO" }, "type": "array", "uniqueItems": false }, "name": { "type": "string" }, "paranoidMode": { "type": "boolean" }, "pipelineError": { "type": "string" }, "pipelineLastRun": { "type": "string" }, "projectId": { "type": "string" }, "reachableFromInternet": { "type": "boolean" }, "refs": { "items": { "$ref": "#/components/schemas/dtos.AssetVersionDTO" }, "type": "array", "uniqueItems": false }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "repositoryProvider": { "type": "string" }, "riskAutomaticTicketThreshold": { "type": "number" }, "sharesInformation": { "type": "boolean" }, "signingPubKey": { "type": "string" }, "slug": { "type": "string" }, "vulnAutoReopenAfterDays": { "type": "integer" } }, "type": "object" }, "dtos.AssetPatchRequest": { "properties": { "availabilityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "badgeSecret": { "type": "string" }, "centralDependencyVulnManagement": { "type": "boolean" }, "confidentialityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "configFiles": { "additionalProperties": {}, "type": "object" }, "cvssAutomaticTicketThreshold": { "type": "number" }, "description": { "type": "string" }, "enableTicketRange": { "type": "boolean" }, "integrityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "isPublic": { "type": "boolean" }, "name": { "type": "string" }, "paranoidMode": { "type": "boolean" }, "reachableFromInternet": { "type": "boolean" }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "repositoryProvider": { "description": "either null or github or gitlab, etc.", "enum": [ "github", "gitlab" ], "type": "string" }, "riskAutomaticTicketThreshold": { "type": "number" }, "sharesInformation": { "type": "boolean" }, "vulnAutoReopenAfterDays": { "type": "integer" }, "webhookSecret": { "type": "string" } }, "type": "object" }, "dtos.AssetVersionDTO": { "properties": { "assetId": { "type": "string" }, "createdAt": { "type": "string" }, "defaultBranch": { "type": "boolean" }, "lastAccessedAt": { "type": "string" }, "metadata": { "additionalProperties": {}, "type": "object" }, "name": { "type": "string" }, "signingPubKey": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "updatedAt": { "type": "string" } }, "type": "object" }, "dtos.CVEDTO": { "properties": { "cisaActionDue": { "format": "date", "type": "string" }, "cisaExploitAdd": { "format": "date", "type": "string" }, "cisaRequiredAction": { "type": "string" }, "cisaVulnerabilityName": { "type": "string" }, "createdAt": { "type": "string" }, "cve": { "type": "string" }, "cvss": { "type": "number" }, "dateLastModified": { "type": "string" }, "datePublished": { "type": "string" }, "description": { "type": "string" }, "epss": { "type": "number" }, "exploits": { "items": { "$ref": "#/components/schemas/dtos.ExploitDTO" }, "type": "array", "uniqueItems": false }, "percentile": { "type": "number" }, "references": { "type": "string" }, "risk": { "$ref": "#/components/schemas/dtos.RiskMetrics" }, "updatedAt": { "type": "string" }, "vector": { "type": "string" } }, "type": "object" }, "dtos.CandidatesResponseDTO": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/dtos.ArtifactDTO" }, "type": "array", "uniqueItems": false }, "releases": { "items": { "$ref": "#/components/schemas/dtos.ReleaseDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.ComponentType": { "enum": [ "application", "container", "data", "device", "device-driver", "file", "firmware", "framework", "library", "machine-learning-model", "operating-system", "platform" ], "type": "string", "x-enum-varnames": [ "ComponentTypeApplication", "ComponentTypeContainer", "ComponentTypeData", "ComponentTypeDevice", "ComponentTypeDeviceDriver", "ComponentTypeFile", "ComponentTypeFirmware", "ComponentTypeFramework", "ComponentTypeLibrary", "ComponentTypeMachineLearningModel", "ComponentTypeOS", "ComponentTypePlatform" ] }, "dtos.DependencyVulnDTO": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/dtos.ArtifactDTO" }, "type": "array", "uniqueItems": false }, "assetId": { "type": "string" }, "assetVersionId": { "type": "string" }, "componentDepth": { "type": "integer" }, "componentFixedVersion": { "type": "string" }, "componentPurl": { "type": "string" }, "createdAt": { "type": "string" }, "cve": { "$ref": "#/components/schemas/dtos.CVEDTO" }, "cveID": { "type": "string" }, "effort": { "type": "integer" }, "exploits": { "items": { "$ref": "#/components/schemas/dtos.ExploitDTO" }, "type": "array", "uniqueItems": false }, "id": { "type": "string" }, "lastDetected": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "priority": { "type": "integer" }, "rawRiskAssessment": { "type": "number" }, "riskAssessment": { "type": "integer" }, "riskRecalculatedAt": { "type": "string" }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "type": "string" }, "ticketUrl": { "type": "string" } }, "type": "object" }, "dtos.DetailedDependencyVulnDTO": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/dtos.ArtifactDTO" }, "type": "array", "uniqueItems": false }, "assetId": { "type": "string" }, "assetVersionId": { "type": "string" }, "componentDepth": { "type": "integer" }, "componentFixedVersion": { "type": "string" }, "componentPurl": { "type": "string" }, "createdAt": { "type": "string" }, "cve": { "$ref": "#/components/schemas/dtos.CVEDTO" }, "cveID": { "type": "string" }, "effort": { "type": "integer" }, "events": { "items": { "$ref": "#/components/schemas/dtos.VulnEventDTO" }, "type": "array", "uniqueItems": false }, "exploits": { "items": { "$ref": "#/components/schemas/dtos.ExploitDTO" }, "type": "array", "uniqueItems": false }, "id": { "type": "string" }, "lastDetected": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "priority": { "type": "integer" }, "rawRiskAssessment": { "type": "number" }, "riskAssessment": { "type": "integer" }, "riskRecalculatedAt": { "type": "string" }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "type": "string" }, "ticketUrl": { "type": "string" } }, "type": "object" }, "dtos.DetailedFirstPartyVulnDTO": { "properties": { "assetId": { "type": "string" }, "assetVersionName": { "type": "string" }, "author": { "type": "string" }, "commit": { "type": "string" }, "createdAt": { "type": "string" }, "date": { "type": "string" }, "email": { "type": "string" }, "events": { "items": { "$ref": "#/components/schemas/dtos.VulnEventDTO" }, "type": "array", "uniqueItems": false }, "id": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "ruleDescription": { "type": "string" }, "ruleHelp": { "type": "string" }, "ruleHelpURI": { "type": "string" }, "ruleId": { "type": "string" }, "ruleName": { "type": "string" }, "ruleProperties": { "additionalProperties": {}, "type": "object" }, "scannerIds": { "type": "string" }, "snippetContents": { "items": { "$ref": "#/components/schemas/dtos.SnippetContent" }, "type": "array", "uniqueItems": false }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "type": "string" }, "ticketUrl": { "type": "string" }, "uri": { "type": "string" } }, "type": "object" }, "dtos.ExploitDTO": { "properties": { "author": { "type": "string" }, "cveID": { "type": "string" }, "description": { "type": "string" }, "forks": { "type": "integer" }, "id": { "type": "string" }, "pushed_at": { "type": "string" }, "sourceURL": { "type": "string" }, "stargazers_count": { "type": "integer" }, "subscribers_count": { "type": "integer" }, "tags": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string" }, "verified": { "type": "boolean" }, "watchers": { "type": "integer" } }, "type": "object" }, "dtos.FirstPartyScanResponse": { "properties": { "amountClosed": { "type": "integer" }, "amountOpened": { "type": "integer" }, "firstPartyVulns": { "items": { "$ref": "#/components/schemas/dtos.FirstPartyVulnDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.FirstPartyVulnDTO": { "properties": { "assetId": { "type": "string" }, "assetVersionName": { "type": "string" }, "author": { "type": "string" }, "commit": { "type": "string" }, "createdAt": { "type": "string" }, "date": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "ruleDescription": { "type": "string" }, "ruleHelp": { "type": "string" }, "ruleHelpURI": { "type": "string" }, "ruleId": { "type": "string" }, "ruleName": { "type": "string" }, "ruleProperties": { "additionalProperties": {}, "type": "object" }, "scannerIds": { "type": "string" }, "snippetContents": { "items": { "$ref": "#/components/schemas/dtos.SnippetContent" }, "type": "array", "uniqueItems": false }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "type": "string" }, "ticketUrl": { "type": "string" }, "uri": { "type": "string" } }, "type": "object" }, "dtos.GithubAppInstallationDTO": { "properties": { "installationCreatedWebhookReceivedTime": { "type": "string" }, "installationId": { "type": "integer" }, "orgID": { "type": "string" }, "settingsUrl": { "type": "string" }, "targetAvatarUrl": { "type": "string" }, "targetLogin": { "type": "string" }, "targetType": { "type": "string" } }, "type": "object" }, "dtos.GitlabIntegrationDTO": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "obfuscatedToken": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "dtos.InviteRequest": { "properties": { "email": { "type": "string" } }, "required": [ "email" ], "type": "object" }, "dtos.JiraIntegrationDTO": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "obfuscatedToken": { "type": "string" }, "url": { "type": "string" }, "userEmail": { "type": "string" } }, "type": "object" }, "dtos.LookupResponse": { "properties": { "asset": { "type": "string" }, "link": { "type": "string" }, "org": { "type": "string" }, "project": { "type": "string" } }, "type": "object" }, "dtos.MechanicalJustificationType": { "enum": [ "component_not_present", "vulnerable_code_not_present", "vulnerable_code_not_in_execute_path", "vulnerable_code_cannot_be_controlled_by_adversary", "inline_mitigations_already_exist" ], "type": "string", "x-enum-varnames": [ "ComponentNotPresent", "VulnerableCodeNotPresent", "VulnerableCodeNotInExecutePath", "VulnerableCodeCannotBeControlledByAdversary", "InlineMitigationsAlreadyExist" ] }, "dtos.OrgChangeRoleRequest": { "properties": { "role": { "enum": [ "member", "admin" ], "type": "string" } }, "required": [ "role" ], "type": "object" }, "dtos.OrgCreateRequest": { "properties": { "contactPhoneNumber": { "type": "string" }, "country": { "type": "string" }, "criticalInfrastructure": { "type": "boolean" }, "description": { "type": "string" }, "grundschutz": { "type": "boolean" }, "industry": { "type": "string" }, "iso27001": { "type": "boolean" }, "language": { "type": "string" }, "name": { "type": "string" }, "nist": { "type": "boolean" }, "numberOfEmployees": { "type": "integer" } }, "required": [ "name" ], "type": "object" }, "dtos.OrgDetailsDTO": { "properties": { "configFiles": { "additionalProperties": {}, "type": "object" }, "contactPhoneNumber": { "type": "string" }, "country": { "type": "string" }, "createdAt": { "type": "string" }, "criticalInfrastructure": { "type": "boolean" }, "description": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "gitLabIntegrations": { "items": { "$ref": "#/components/schemas/dtos.GitlabIntegrationDTO" }, "type": "array", "uniqueItems": false }, "githubAppInstallations": { "items": { "$ref": "#/components/schemas/dtos.GithubAppInstallationDTO" }, "type": "array", "uniqueItems": false }, "grundschutz": { "type": "boolean" }, "id": { "type": "string" }, "industry": { "type": "string" }, "isPublic": { "type": "boolean" }, "iso27001": { "type": "boolean" }, "jiraIntegrations": { "items": { "$ref": "#/components/schemas/dtos.JiraIntegrationDTO" }, "type": "array", "uniqueItems": false }, "language": { "type": "string" }, "members": { "items": { "$ref": "#/components/schemas/dtos.UserDTO" }, "type": "array", "uniqueItems": false }, "name": { "type": "string" }, "nist": { "type": "boolean" }, "numberOfEmployees": { "type": "integer" }, "projects": { "items": { "$ref": "#/components/schemas/dtos.ProjectDTO" }, "type": "array", "uniqueItems": false }, "sharesVulnInformation": { "type": "boolean" }, "slug": { "type": "string" }, "updatedAt": { "type": "string" }, "webhooks": { "items": { "$ref": "#/components/schemas/dtos.WebhookIntegrationDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.OrgPatchRequest": { "properties": { "configFiles": { "additionalProperties": {}, "type": "object" }, "contactPhoneNumber": { "type": "string" }, "country": { "type": "string" }, "criticalInfrastructure": { "type": "boolean" }, "description": { "type": "string" }, "grundschutz": { "type": "boolean" }, "industry": { "type": "string" }, "isPublic": { "type": "boolean" }, "iso27001": { "type": "boolean" }, "language": { "type": "string" }, "name": { "type": "string" }, "nist": { "type": "boolean" }, "numberOfEmployees": { "type": "integer" }, "shareVulnInformation": { "type": "boolean" } }, "type": "object" }, "dtos.PatCreateRequest": { "properties": { "description": { "type": "string" }, "pubKey": { "type": "string" }, "scopes": { "type": "string" } }, "type": "object" }, "dtos.ProjectCreateRequest": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "parentId": { "description": "if created as a child project", "type": "string" }, "type": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "dtos.ProjectDTO": { "properties": { "assets": { "items": { "$ref": "#/components/schemas/dtos.AssetDTO" }, "type": "array", "uniqueItems": false }, "avatar": { "description": "URL to the project's avatar", "type": "string" }, "configFiles": { "additionalProperties": {}, "type": "object" }, "description": { "type": "string" }, "externalEntityId": { "description": "only set if this is an external entity", "type": "string" }, "externalEntityProviderId": { "type": "string" }, "id": { "type": "string" }, "isPublic": { "type": "boolean" }, "name": { "type": "string" }, "parent": { "$ref": "#/components/schemas/dtos.ProjectDTO" }, "parentId": { "type": "string" }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" } }, "type": "object" }, "dtos.ProjectDetailsDTO": { "properties": { "assets": { "items": { "$ref": "#/components/schemas/dtos.AssetDTO" }, "type": "array", "uniqueItems": false }, "avatar": { "description": "URL to the project's avatar", "type": "string" }, "configFiles": { "additionalProperties": {}, "type": "object" }, "description": { "type": "string" }, "externalEntityId": { "description": "only set if this is an external entity", "type": "string" }, "externalEntityProviderId": { "type": "string" }, "id": { "type": "string" }, "isPublic": { "type": "boolean" }, "members": { "items": { "$ref": "#/components/schemas/dtos.UserDTO" }, "type": "array", "uniqueItems": false }, "name": { "type": "string" }, "parent": { "$ref": "#/components/schemas/dtos.ProjectDTO" }, "parentId": { "type": "string" }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "slug": { "type": "string" }, "type": { "type": "string" }, "webhooks": { "items": { "$ref": "#/components/schemas/dtos.WebhookIntegrationDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.ProjectInviteRequest": { "properties": { "ids": { "items": { "type": "string" }, "type": "array", "uniqueItems": false } }, "required": [ "ids" ], "type": "object" }, "dtos.ProjectPatchRequest": { "properties": { "configFiles": { "additionalProperties": {}, "type": "object" }, "description": { "type": "string" }, "isPublic": { "type": "boolean" }, "name": { "type": "string" }, "repositoryId": { "type": "string" }, "repositoryName": { "type": "string" }, "type": { "type": "string" } }, "type": "object" }, "dtos.ReleaseCreateRequest": { "properties": { "items": { "items": { "$ref": "#/components/schemas/dtos.ReleaseItemDTO" }, "type": "array", "uniqueItems": false }, "name": { "type": "string" } }, "type": "object" }, "dtos.ReleaseDTO": { "properties": { "createdAt": { "type": "string" }, "id": { "type": "string" }, "items": { "items": { "$ref": "#/components/schemas/dtos.ReleaseItemDTO" }, "type": "array", "uniqueItems": false }, "name": { "type": "string" }, "projectId": { "type": "string" }, "updatedAt": { "type": "string" } }, "type": "object" }, "dtos.ReleaseItemDTO": { "properties": { "artifactName": { "type": "string" }, "assetId": { "type": "string" }, "assetVersionName": { "type": "string" }, "childReleaseId": { "type": "string" }, "childReleaseName": { "type": "string" }, "id": { "type": "string" }, "releaseId": { "type": "string" } }, "type": "object" }, "dtos.ReleasePatchRequest": { "properties": { "items": { "items": { "$ref": "#/components/schemas/dtos.ReleaseItemDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.RequirementLevel": { "enum": [ "low", "medium", "high" ], "type": "string", "x-enum-varnames": [ "RequirementLevelLow", "RequirementLevelMedium", "RequirementLevelHigh" ] }, "dtos.RevokeByPrivateKeyRequest": { "properties": { "privkey": { "type": "string" } }, "required": [ "privkey" ], "type": "object" }, "dtos.RiskMetrics": { "properties": { "baseScore": { "type": "number" }, "withEnvironment": { "type": "number" }, "withEnvironmentAndThreatIntelligence": { "type": "number" }, "withThreatIntelligence": { "type": "number" } }, "type": "object" }, "dtos.ScanResponse": { "properties": { "amountClosed": { "type": "integer" }, "amountOpened": { "type": "integer" }, "dependencyVulns": { "items": { "$ref": "#/components/schemas/dtos.DependencyVulnDTO" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "dtos.SnippetContent": { "properties": { "endColumn": { "type": "integer" }, "endLine": { "type": "integer" }, "snippet": { "type": "string" }, "startColumn": { "type": "integer" }, "startLine": { "type": "integer" } }, "type": "object" }, "dtos.UpstreamState": { "enum": [ 0, 1, 2 ], "type": "integer", "x-enum-varnames": [ "UpstreamStateInternal", "UpstreamStateExternalAccepted", "UpstreamStateExternal" ] }, "dtos.UserDTO": { "properties": { "avatarUrl": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "role": { "type": "string" } }, "type": "object" }, "dtos.VulnEventDTO": { "properties": { "arbitraryJSONData": { "additionalProperties": {}, "type": "object" }, "assetVersionName": { "type": "string" }, "assetVersionSlug": { "type": "string" }, "createdAt": { "type": "string" }, "id": { "type": "string" }, "justification": { "type": "string" }, "mechanicalJustification": { "$ref": "#/components/schemas/dtos.MechanicalJustificationType" }, "packageName": { "type": "string" }, "type": { "$ref": "#/components/schemas/dtos.VulnEventType" }, "upstream": { "$ref": "#/components/schemas/dtos.UpstreamState" }, "uri": { "type": "string" }, "userId": { "type": "string" }, "vulnId": { "type": "string" }, "vulnType": { "$ref": "#/components/schemas/dtos.VulnType" }, "vulnerabilityName": { "type": "string" } }, "type": "object" }, "dtos.VulnEventType": { "enum": [ "fixed", "licenseDecision", "reopened", "accepted", "mitigate", "falsePositive", "markedForTransfer", "comment", "detected", "rawRiskAssessmentUpdated" ], "type": "string", "x-enum-varnames": [ "EventTypeFixed", "EventTypeLicenseDecision", "EventTypeReopened", "EventTypeAccepted", "EventTypeMitigate", "EventTypeFalsePositive", "EventTypeMarkedForTransfer", "EventTypeComment", "EventTypeDetected", "EventTypeRawRiskAssessmentUpdated" ] }, "dtos.VulnState": { "enum": [ "open", "fixed", "accepted", "falsePositive", "markedForTransfer" ], "type": "string", "x-enum-comments": { "VulnStateAccepted": "like ignore", "VulnStateFalsePositive": "we can use that for crowdsource vulnerability management. 27 People marked this as false positive and they have the same dependency tree - propably you are not either", "VulnStateFixed": "we did not find the dependencyVuln anymore in the last scan!" }, "x-enum-varnames": [ "VulnStateOpen", "VulnStateFixed", "VulnStateAccepted", "VulnStateFalsePositive", "VulnStateMarkedForTransfer" ] }, "dtos.VulnType": { "enum": [ "dependencyVuln", "firstPartyVuln", "licenseRisk" ], "type": "string", "x-enum-varnames": [ "VulnTypeDependencyVuln", "VulnTypeFirstPartyVuln", "VulnTypeLicenseRisk" ] }, "dtos.WebhookIntegrationDTO": { "properties": { "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "sbomEnabled": { "type": "boolean" }, "url": { "type": "string" }, "vulnEnabled": { "type": "boolean" } }, "type": "object" }, "models.AffectedComponent": { "properties": { "cves": { "items": { "$ref": "#/components/schemas/models.CVE" }, "type": "array", "uniqueItems": false }, "ecosystem": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "purl": { "type": "string" }, "qualifiers": { "type": "string" }, "scheme": { "type": "string" }, "semverEnd": { "type": "string" }, "semverStart": { "type": "string" }, "source": { "type": "string" }, "subpath": { "type": "string" }, "type": { "type": "string" }, "version": { "description": "either version or semver is defined", "type": "string" }, "versionFixed": { "description": "for non semver packages - if both are defined, THIS one should be used for displaying. We might fake semver versions just for database querying and ordering", "type": "string" }, "versionIntroduced": { "description": "for non semver packages - if both are defined, THIS one should be used for displaying. We might fake semver versions just for database querying and ordering", "type": "string" } }, "type": "object" }, "models.Artifact": { "description": "Ensure foreign key field order matches Artifact primary key: ArtifactName, AssetVersionName, AssetID", "properties": { "artifactName": { "type": "string" }, "assetVersion": { "$ref": "#/components/schemas/models.AssetVersion" }, "assetVersionName": { "type": "string" }, "componentDependencies": { "items": { "$ref": "#/components/schemas/models.ComponentDependency" }, "type": "array", "uniqueItems": false }, "createdAt": { "type": "string" }, "dependencyVulns": { "items": { "$ref": "#/components/schemas/models.DependencyVuln" }, "type": "array", "uniqueItems": false }, "lastHistoryUpdate": { "type": "string" }, "licenseRisks": { "items": { "$ref": "#/components/schemas/models.LicenseRisk" }, "type": "array", "uniqueItems": false }, "riskHistories": { "items": { "$ref": "#/components/schemas/models.ArtifactRiskHistory" }, "type": "array", "uniqueItems": false }, "vulnAssetId": { "type": "string" } }, "type": "object" }, "models.ArtifactRiskHistory": { "properties": { "artifactName": { "type": "string" }, "assetId": { "type": "string" }, "assetVersionName": { "type": "string" }, "averageClosedRisk": { "type": "number" }, "averageOpenRisk": { "type": "number" }, "critical": { "type": "integer" }, "criticalCvss": { "type": "integer" }, "day": { "description": "on the day 2024-08-12 the asset had a sumRisk of 25.", "type": "string" }, "fixedDependencyVulns": { "type": "integer" }, "high": { "type": "integer" }, "highCvss": { "type": "integer" }, "low": { "type": "integer" }, "lowCvss": { "type": "integer" }, "maxClosedRisk": { "type": "number" }, "maxOpenRisk": { "type": "number" }, "medium": { "type": "integer" }, "mediumCvss": { "type": "integer" }, "minClosedRisk": { "type": "number" }, "minOpenRisk": { "type": "number" }, "openDependencyVulns": { "type": "integer" }, "sumClosedRisk": { "type": "number" }, "sumOpenRisk": { "type": "number" } }, "type": "object" }, "models.Asset": { "properties": { "availabilityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "avatar": { "type": "string" }, "badgeSecret": { "type": "string" }, "confidentialityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "configFiles": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "createdAt": { "type": "string" }, "cvssAutomaticTicketThreshold": { "type": "number" }, "description": { "type": "string" }, "externalEntityId": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "id": { "type": "string" }, "importance": { "type": "integer" }, "integrityRequirement": { "$ref": "#/components/schemas/dtos.RequirementLevel" }, "isPublic": { "type": "boolean" }, "metadata": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "name": { "type": "string" }, "paranoidMode": { "type": "boolean" }, "pipelineError": { "type": "string" }, "pipelineLastRun": { "type": "string" }, "project": { "$ref": "#/components/schemas/models.Project" }, "projectId": { "type": "string" }, "reachableFromInternet": { "type": "boolean" }, "refs": { "items": { "$ref": "#/components/schemas/models.AssetVersion" }, "type": "array", "uniqueItems": false }, "repositoryId": { "description": "the id will be prefixed with the provider name, e.g. github:\u003cgithub app installation id\u003e:123456", "type": "string" }, "repositoryName": { "type": "string" }, "repositoryProvider": { "type": "string" }, "riskAutomaticTicketThreshold": { "type": "number" }, "shareInformation": { "type": "boolean" }, "signingPubKey": { "type": "string" }, "slug": { "type": "string" }, "type": { "$ref": "#/components/schemas/models.AssetType" }, "updatedAt": { "type": "string" }, "vulnAutoReopenAfterDays": { "description": "Auto-reopen configuration - number of days after which closed/accepted vulnerabilities should be reopened", "type": "integer" }, "webhookSecret": { "type": "string" } }, "type": "object" }, "models.AssetType": { "enum": [ "application", "infrastructure" ], "type": "string", "x-enum-varnames": [ "AssetTypeApplication", "AssetTypeInfrastructure" ] }, "models.AssetVersion": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/models.Artifact" }, "type": "array", "uniqueItems": false }, "asset": { "$ref": "#/components/schemas/models.Asset" }, "assetId": { "type": "string" }, "components": { "items": { "$ref": "#/components/schemas/models.ComponentDependency" }, "type": "array", "uniqueItems": false }, "createdAt": { "type": "string" }, "defaultBranch": { "type": "boolean" }, "dependencyVulns": { "items": { "$ref": "#/components/schemas/models.DependencyVuln" }, "type": "array", "uniqueItems": false }, "lastAccessedAt": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "name": { "type": "string" }, "signingPubKey": { "type": "string" }, "slug": { "type": "string" }, "supplyChains": { "items": { "$ref": "#/components/schemas/models.SupplyChain" }, "type": "array", "uniqueItems": false }, "type": { "$ref": "#/components/schemas/models.AssetVersionType" }, "updatedAt": { "type": "string" } }, "type": "object" }, "models.AssetVersionType": { "enum": [ "branch", "tag" ], "type": "string", "x-enum-varnames": [ "AssetVersionBranch", "AssetVersionTag" ] }, "models.Attestation": { "properties": { "artifact": { "$ref": "#/components/schemas/models.Artifact" }, "artifactName": { "type": "string" }, "assetId": { "type": "string" }, "assetVersionName": { "type": "string" }, "content": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "createdAt": { "type": "string" }, "predicateType": { "type": "string" }, "updatedAt": { "type": "string" } }, "type": "object" }, "models.CVE": { "properties": { "affectedComponents": { "items": { "$ref": "#/components/schemas/models.AffectedComponent" }, "type": "array", "uniqueItems": false }, "cisaActionDue": { "format": "date", "type": "string" }, "cisaExploitAdd": { "format": "date", "type": "string" }, "cisaRequiredAction": { "type": "string" }, "cisaVulnerabilityName": { "type": "string" }, "createdAt": { "type": "string" }, "cve": { "type": "string" }, "cvss": { "type": "number" }, "dateLastModified": { "type": "string" }, "datePublished": { "type": "string" }, "description": { "type": "string" }, "epss": { "type": "number" }, "exploits": { "items": { "$ref": "#/components/schemas/models.Exploit" }, "type": "array", "uniqueItems": false }, "percentile": { "type": "number" }, "references": { "type": "string" }, "risk": { "$ref": "#/components/schemas/dtos.RiskMetrics" }, "updatedAt": { "type": "string" }, "vector": { "type": "string" }, "weaknesses": { "items": { "$ref": "#/components/schemas/models.Weakness" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "models.Component": { "description": "the provided sbom from cyclondx only contains the transitive dependencies, which do really get used\nthis means, that the dependency graph between people using the same library might differ, since they use it differently\nwe use edges, which provide the information, that a component is used by another component in one asset", "properties": { "componentType": { "$ref": "#/components/schemas/dtos.ComponentType" }, "dependsOn": { "items": { "$ref": "#/components/schemas/models.ComponentDependency" }, "type": "array", "uniqueItems": false }, "isLicenseOverwritten": { "type": "boolean" }, "license": { "type": "string" }, "project": { "$ref": "#/components/schemas/models.ComponentProject" }, "projectId": { "type": "string" }, "published": { "type": "string" }, "purl": { "type": "string" }, "version": { "type": "string" } }, "type": "object" }, "models.ComponentDependency": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/models.Artifact" }, "type": "array", "uniqueItems": false }, "assetId": { "type": "string" }, "assetVersionName": { "description": "Foreign key fields for AssetVersion relationship", "type": "string" }, "component": { "$ref": "#/components/schemas/models.Component" }, "componentPurl": { "description": "will be nil, for direct dependencies", "type": "string" }, "dependency": { "$ref": "#/components/schemas/models.Component" }, "dependencyPurl": { "type": "string" }, "depth": { "type": "integer" }, "id": { "type": "string" } }, "type": "object" }, "models.ComponentProject": { "properties": { "description": { "type": "string" }, "forksCount": { "type": "integer" }, "homepage": { "type": "string" }, "license": { "type": "string" }, "openIssuesCount": { "type": "integer" }, "projectKey": { "description": "project name like \"github.com/facebook/react\"", "type": "string" }, "scoreCard": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "scoreCardScore": { "type": "number" }, "starsCount": { "type": "integer" }, "updatedAt": { "type": "string" } }, "type": "object" }, "models.DependencyVuln": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/models.Artifact" }, "type": "array", "uniqueItems": false }, "assetVersion": { "$ref": "#/components/schemas/models.AssetVersion" }, "assetVersionName": { "type": "string" }, "componentDepth": { "type": "integer" }, "componentFixedVersion": { "type": "string" }, "componentPurl": { "type": "string" }, "createdAt": { "type": "string" }, "cve": { "$ref": "#/components/schemas/models.CVE" }, "cveId": { "type": "string" }, "effort": { "type": "integer" }, "events": { "items": { "$ref": "#/components/schemas/models.VulnEvent" }, "type": "array", "uniqueItems": false }, "id": { "type": "string" }, "lastDetected": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "priority": { "type": "integer" }, "rawRiskAssessment": { "type": "number" }, "riskAssessment": { "type": "integer" }, "riskRecalculatedAt": { "type": "string" }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "description": "might be set by integrations", "type": "string" }, "ticketUrl": { "type": "string" }, "updatedAt": { "type": "string" }, "vulnAssetId": { "type": "string" } }, "type": "object" }, "models.Exploit": { "properties": { "author": { "type": "string" }, "cveID": { "type": "string" }, "description": { "type": "string" }, "forks": { "type": "integer" }, "id": { "type": "string" }, "pushed_at": { "type": "string" }, "sourceURL": { "type": "string" }, "stargazers_count": { "type": "integer" }, "subscribers_count": { "type": "integer" }, "tags": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string" }, "verified": { "type": "boolean" }, "watchers": { "type": "integer" } }, "type": "object" }, "models.GitLabIntegration": { "properties": { "accessToken": { "type": "string" }, "createdAt": { "type": "string" }, "gitLabUrl": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "org": { "$ref": "#/components/schemas/models.Org" }, "orgId": { "type": "string" }, "updatedAt": { "type": "string" } }, "type": "object" }, "models.GithubAppInstallation": { "properties": { "installationCreatedWebhookReceivedTime": { "type": "string" }, "installationId": { "type": "integer" }, "org": { "$ref": "#/components/schemas/models.Org" }, "orgId": { "type": "string" }, "settingsUrl": { "type": "string" }, "targetAvatarUrl": { "type": "string" }, "targetLogin": { "type": "string" }, "targetType": { "type": "string" } }, "type": "object" }, "models.Invitation": { "properties": { "code": { "type": "string" }, "createdAt": { "type": "string" }, "email": { "description": "Email is the email address of the user the invitation is for", "type": "string" }, "id": { "type": "string" }, "organization": { "$ref": "#/components/schemas/models.Org" }, "organizationId": { "description": "OrganizationID is the ID of the organization the invitation is for", "type": "string" }, "updatedAt": { "type": "string" } }, "type": "object" }, "models.JiraIntegration": { "properties": { "accessToken": { "type": "string" }, "accountId": { "type": "string" }, "createdAt": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "org": { "$ref": "#/components/schemas/models.Org" }, "orgId": { "type": "string" }, "updatedAt": { "type": "string" }, "url": { "type": "string" }, "userEmail": { "type": "string" } }, "type": "object" }, "models.LicenseRisk": { "properties": { "artifacts": { "items": { "$ref": "#/components/schemas/models.Artifact" }, "type": "array", "uniqueItems": false }, "assetVersion": { "$ref": "#/components/schemas/models.AssetVersion" }, "assetVersionName": { "type": "string" }, "component": { "$ref": "#/components/schemas/models.Component" }, "componentPurl": { "type": "string" }, "createdAt": { "type": "string" }, "events": { "items": { "$ref": "#/components/schemas/models.VulnEvent" }, "type": "array", "uniqueItems": false }, "finalLicenseDecision": { "type": "string" }, "id": { "type": "string" }, "lastDetected": { "type": "string" }, "manualTicketCreation": { "type": "boolean" }, "message": { "type": "string" }, "state": { "$ref": "#/components/schemas/dtos.VulnState" }, "ticketId": { "description": "might be set by integrations", "type": "string" }, "ticketUrl": { "type": "string" }, "updatedAt": { "type": "string" }, "vulnAssetId": { "type": "string" } }, "type": "object" }, "models.Org": { "properties": { "configFiles": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "contactPhoneNumber": { "type": "string" }, "country": { "type": "string" }, "createdAt": { "type": "string" }, "criticalInfrastructure": { "type": "boolean" }, "description": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "gitLabIntegrations": { "items": { "$ref": "#/components/schemas/models.GitLabIntegration" }, "type": "array", "uniqueItems": false }, "githubAppInstallations": { "items": { "$ref": "#/components/schemas/models.GithubAppInstallation" }, "type": "array", "uniqueItems": false }, "grundschutz": { "type": "boolean" }, "id": { "type": "string" }, "industry": { "type": "string" }, "isPublic": { "type": "boolean" }, "iso27001": { "type": "boolean" }, "jiraIntegrations": { "items": { "$ref": "#/components/schemas/models.JiraIntegration" }, "type": "array", "uniqueItems": false }, "language": { "type": "string" }, "name": { "type": "string" }, "nist": { "type": "boolean" }, "numberOfEmployees": { "type": "integer" }, "projects": { "items": { "$ref": "#/components/schemas/models.Project" }, "type": "array", "uniqueItems": false }, "sharesVulnInformation": { "type": "boolean" }, "slug": { "type": "string" }, "updatedAt": { "type": "string" }, "webhooks": { "items": { "$ref": "#/components/schemas/models.WebhookIntegration" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "models.PAT": { "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "fingerprint": { "type": "string" }, "id": { "type": "string" }, "lastUsedAt": { "type": "string" }, "pubKey": { "type": "string" }, "scopes": { "description": "whitespace separated scopes manage-project read-project scan-asset manage-all", "type": "string" }, "userId": { "type": "string" } }, "type": "object" }, "models.Policy": { "properties": { "description": { "type": "string" }, "id": { "type": "string" }, "opaqueId": { "description": "only used by global policies maintained by the community and migrated by the system", "type": "string" }, "organization": { "$ref": "#/components/schemas/models.Org" }, "organizationId": { "description": "will be null for global policies", "type": "string" }, "predicateType": { "type": "string" }, "projects": { "items": { "$ref": "#/components/schemas/models.Project" }, "type": "array", "uniqueItems": false }, "rego": { "type": "string" }, "title": { "type": "string" } }, "type": "object" }, "models.Project": { "properties": { "assets": { "items": { "$ref": "#/components/schemas/models.Asset" }, "type": "array", "uniqueItems": false }, "avatar": { "type": "string" }, "configFiles": { "$ref": "#/components/schemas/databasetypes.JSONB" }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "enabledPolicies": { "items": { "$ref": "#/components/schemas/models.Policy" }, "type": "array", "uniqueItems": false }, "externalEntityId": { "type": "string" }, "externalEntityProviderId": { "type": "string" }, "externalEntityProviderParentId": { "type": "string" }, "id": { "type": "string" }, "isPublic": { "type": "boolean" }, "name": { "type": "string" }, "organization": { "$ref": "#/components/schemas/models.Org" }, "organizationId": { "type": "string" }, "parent": { "$ref": "#/components/schemas/models.Project" }, "parentId": { "type": "string" }, "repositoryId": { "description": "the id will be prefixed with the provider name, e.g. github:\u003cgithub app installation id\u003e:123456", "type": "string" }, "repositoryName": { "type": "string" }, "slug": { "type": "string" }, "type": { "$ref": "#/components/schemas/models.ProjectType" }, "updatedAt": { "type": "string" }, "webhooks": { "items": { "$ref": "#/components/schemas/models.WebhookIntegration" }, "type": "array", "uniqueItems": false } }, "type": "object" }, "models.ProjectType": { "enum": [ "default", "kubernetesNamespace", "kubernetesCluster" ], "type": "string", "x-enum-varnames": [ "ProjectTypeDefault", "ProjectTypeKubernetesNamespace", "ProjectTypeKubernetesCluster" ] }, "models.SupplyChain": { "properties": { "assetId": { "type": "string" }, "assetVersion": { "$ref": "#/components/schemas/models.AssetVersion" }, "assetVersionName": { "type": "string" }, "createdAt": { "type": "string" }, "supplyChainId": { "type": "string" }, "supplyChainOutputDigest": { "type": "string" }, "updatedAt": { "type": "string" }, "verified": { "type": "boolean" } }, "type": "object" }, "models.VulnEvent": { "properties": { "arbitraryJSONData": { "type": "string" }, "createdAt": { "type": "string" }, "dtos.VulnType": { "$ref": "#/components/schemas/dtos.VulnType" }, "id": { "type": "string" }, "justification": { "type": "string" }, "mechanicalJustification": { "$ref": "#/components/schemas/dtos.MechanicalJustificationType" }, "originalAssetVersionName": { "type": "string" }, "type": { "$ref": "#/components/schemas/dtos.VulnEventType" }, "updatedAt": { "type": "string" }, "upstream": { "$ref": "#/components/schemas/dtos.UpstreamState" }, "userId": { "type": "string" }, "vulnId": { "type": "string" } }, "type": "object" }, "models.Weakness": { "properties": { "cve": { "$ref": "#/components/schemas/models.CVE" }, "cwe": { "type": "string" }, "source": { "type": "string" }, "type": { "type": "string" } }, "type": "object" }, "models.WebhookIntegration": { "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "org": { "$ref": "#/components/schemas/models.Org" }, "orgId": { "type": "string" }, "project": { "$ref": "#/components/schemas/models.Project" }, "projectId": { "type": "string" }, "sbomEnabled": { "type": "boolean" }, "secret": { "type": "string" }, "updatedAt": { "type": "string" }, "url": { "type": "string" }, "vulnEnabled": { "type": "boolean" } }, "type": "object" } }, "securitySchemes": { "CookieAuth": { "description": "Session-based authentication using Ory Kratos", "in": "cookie", "name": "ory_kratos_session", "type": "apiKey" }, "PATAuth": { "description": "Personal Access Token authentication using HTTP request signing. Requires X-Signature and X-Fingerprint headers.", "in": "header", "name": "X-Signature", "type": "apiKey" } } }, "info": { "contact": { "name": "Support", "url": "https://github.com/l3montree-dev/devguard/issues" }, "description": "DevGuard Backend. Secure your Software Supply Chain. Attestation-based compliance as Code, manage your CVEs seamlessly, Integrate your Vulnerability Scanners, Security Framework Documentation made easy. OWASP Incubating Project", "license": { "name": "AGPL-3", "url": "https://github.com/l3montree-dev/devguard/blob/main/LICENSE.txt" }, "title": "DevGuard API", "version": "v1" }, "externalDocs": { "description": "", "url": "" }, "paths": { "/.well-known/csaf-aggregator/aggregator.json": { "get": { "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "summary": "Get CSAF aggregator metadata", "tags": [ "CSAF" ] } }, "/accept-invitation": { "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AcceptInvitationRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Accept organization invitation", "tags": [ "Organizations" ] } }, "/attestations": { "post": { "parameters": [ { "description": "Asset version name", "in": "header", "name": "X-Asset-Ref", "schema": { "type": "string" } }, { "description": "Artifact name", "in": "header", "name": "X-Artifact-Name", "schema": { "type": "string" } }, { "description": "Predicate type", "in": "header", "name": "X-Predicate-Type", "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Attestation content", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create attestation", "tags": [ "Attestations" ] } }, "/integrations/repositories": { "get": { "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "object" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List repositories from integrations", "tags": [ "Integrations" ] } }, "/lookup": { "get": { "parameters": [ { "description": "Provider name", "in": "query", "name": "provider", "required": true, "schema": { "type": "string" } }, { "description": "Repository ID", "in": "query", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.LookupResponse" } } }, "description": "OK" } }, "summary": "Lookup asset by provider", "tags": [ "Assets" ] } }, "/oauth2/gitlab/callback/{integrationName}": { "get": { "parameters": [ { "description": "Integration name", "in": "path", "name": "integrationName", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] } ], "summary": "GitLab OAuth2 callback", "tags": [ "Integrations" ] } }, "/oauth2/gitlab/{integrationName}": { "get": { "parameters": [ { "description": "Integration name", "in": "path", "name": "integrationName", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] } ], "summary": "GitLab OAuth2 login", "tags": [ "Integrations" ] } }, "/organizations": { "get": { "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/models.Org" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List organizations", "tags": [ "Organizations" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.OrgCreateRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.Org" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create organization", "tags": [ "Organizations" ] } }, "/organizations/{organization}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete organization", "tags": [ "Organizations" ] }, "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.OrgDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get organization details", "tags": [ "Organizations" ] }, "patch": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.OrgPatchRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.OrgDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update organization", "tags": [ "Organizations" ] } }, "/organizations/{organization}/config-files/{config-file}": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Config file ID", "in": "path", "name": "config-file", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get organization config file", "tags": [ "Organizations" ] } }, "/organizations/{organization}/content-tree": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get organization content tree", "tags": [ "Organizations" ] } }, "/organizations/{organization}/csaf/provider-metadata.json": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get CSAF provider metadata for organization", "tags": [ "CSAF" ] } }, "/organizations/{organization}/members": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "object" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List organization members", "tags": [ "Organizations" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.InviteRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.Invitation" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Invite member to organization", "tags": [ "Organizations" ] } }, "/organizations/{organization}/members/{userID}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "User ID", "in": "path", "name": "userID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Remove member from organization", "tags": [ "Organizations" ] }, "put": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "User ID", "in": "path", "name": "userID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.OrgChangeRoleRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Change member role", "tags": [ "Organizations" ] } }, "/organizations/{organization}/metrics": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "ownerId": { "type": "string" } }, "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get organization metrics", "tags": [ "Organizations" ] } }, "/organizations/{organization}/projects": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/models.Project" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List projects", "tags": [ "Projects" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ProjectCreateRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.Project" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create project", "tags": [ "Projects" ] } }, "/organizations/{organization}/projects/{projectSlug}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete project", "tags": [ "Projects" ] }, "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ProjectDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get project details", "tags": [ "Projects" ] }, "patch": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ProjectPatchRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ProjectDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update project", "tags": [ "Projects" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/dtos.AssetDTO" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List assets", "tags": [ "Assets" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AssetCreateRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AssetDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create asset", "tags": [ "Assets" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete asset", "tags": [ "Assets" ] }, "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AssetDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get asset details", "tags": [ "Assets" ] }, "patch": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AssetPatchRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.AssetDetailsDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update asset", "tags": [ "Assets" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/csaf/white/changes.csv": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get CSAF changes CSV", "tags": [ "CSAF" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/csaf/white/index.txt": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get CSAF index file", "tags": [ "CSAF" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/csaf/white/{year}/{version}": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Year", "in": "path", "name": "year", "required": true, "schema": { "type": "string" } }, { "description": "Version filename", "in": "path", "name": "version", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get CSAF report", "tags": [ "CSAF" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/models.AssetVersion" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List asset versions", "tags": [ "Asset Versions" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "defaultBranch": { "type": "boolean" }, "name": { "type": "string" }, "tag": { "type": "boolean" } }, "title": "body", "type": "object" } } }, "description": "Request body", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.AssetVersion" } } }, "description": "Created" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create asset version", "tags": [ "Asset Versions" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete asset version", "tags": [ "Asset Versions" ] }, "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.AssetVersion" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get asset version details", "tags": [ "Asset Versions" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/artifacts": { "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Artifact data", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.Artifact" } } }, "description": "Created" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create artifact", "tags": [ "Artifacts" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/artifacts/{artifactName}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "path", "name": "artifactName", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete artifact", "tags": [ "Artifacts" ] }, "put": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "path", "name": "artifactName", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Artifact data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update artifact", "tags": [ "Artifacts" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/artifacts/{artifactName}/sync": { "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "path", "name": "artifactName", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Sync external sources for artifact", "tags": [ "Artifacts" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/attestations": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/models.Attestation" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List attestations", "tags": [ "Attestations" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/dependency-vulns": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Flat list flag", "in": "query", "name": "flat", "schema": { "type": "string" } }, { "description": "Search term", "in": "query", "name": "search", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List dependency vulnerabilities", "tags": [ "Vulnerabilities" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/dependency-vulns/{dependencyVulnID}": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Vulnerability ID", "in": "path", "name": "dependencyVulnID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.DetailedDependencyVulnDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get dependency vulnerability details", "tags": [ "Vulnerabilities" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Vulnerability ID", "in": "path", "name": "dependencyVulnID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Request body", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create vulnerability event", "tags": [ "Vulnerabilities" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/metrics": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "query", "name": "artifactName", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get asset version metrics", "tags": [ "Asset Versions" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/sbom.json": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "query", "name": "artifactName", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get SBOM in JSON format", "tags": [ "Asset Versions" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/vex.json": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Artifact name", "in": "query", "name": "artifactName", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get VEX in JSON format", "tags": [ "Asset Versions" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/vulns": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } }, { "description": "Search term", "in": "query", "name": "search", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List first-party vulnerabilities by asset version", "tags": [ "Vulnerabilities" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/refs/{assetVersionSlug}/vulns.sarif": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset slug", "in": "path", "name": "assetSlug", "required": true, "schema": { "type": "string" } }, { "description": "Asset version slug", "in": "path", "name": "assetVersionSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get first-party vulnerabilities as SARIF", "tags": [ "Vulnerabilities" ] } }, "/organizations/{organization}/projects/{projectSlug}/assets/{assetSlug}/sbom-file": { "post": { "parameters": [ { "description": "Origin", "in": "header", "name": "X-Origin", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "title": "file", "type": "file" } } }, "description": "SBOM file", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ScanResponse" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Scan SBOM file", "tags": [ "Scanning" ] } }, "/organizations/{organization}/projects/{projectSlug}/members": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/dtos.UserDTO" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List project members", "tags": [ "Projects" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ProjectInviteRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Invite members to project", "tags": [ "Projects" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Search term", "in": "query", "name": "search", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List releases", "tags": [ "Releases" ] }, "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseCreateRequest", "summary": "body", "description": "Release data" } } }, "description": "Release data", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseDTO" } } }, "description": "Created" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create release", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/candidates": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "query", "name": "releaseID", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.CandidatesResponseDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List release candidates", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete release", "tags": [ "Releases" ] }, "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get release details", "tags": [ "Releases" ] }, "patch": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleasePatchRequest", "summary": "body", "description": "Release data" } } }, "description": "Release data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update release", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/items": { "post": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseItemDTO", "summary": "body", "description": "Release item data" } } }, "description": "Release item data", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ReleaseItemDTO" } } }, "description": "Created" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Add item to release", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/items/{itemID}": { "delete": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } }, { "description": "Item ID", "in": "path", "name": "itemID", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Remove item from release", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/sbom.json": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get release SBOM as JSON", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/sbom.xml": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get release SBOM as XML", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/vex.json": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get release VEX as JSON", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/releases/{releaseID}/vex.xml": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Release ID", "in": "path", "name": "releaseID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get release VEX as XML", "tags": [ "Releases" ] } }, "/organizations/{organization}/projects/{projectSlug}/vulns": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Project slug", "in": "path", "name": "projectSlug", "required": true, "schema": { "type": "string" } }, { "description": "Search term", "in": "query", "name": "search", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List first-party vulnerabilities by project", "tags": [ "Vulnerabilities" ] } }, "/organizations/{organization}/vulns": { "get": { "parameters": [ { "description": "Organization slug", "in": "path", "name": "organization", "required": true, "schema": { "type": "string" } }, { "description": "Search term", "in": "query", "name": "search", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List first-party vulnerabilities by organization", "tags": [ "Vulnerabilities" ] } }, "/pats": { "get": { "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/models.PAT" }, "type": "array" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "List personal access tokens", "tags": [ "Authentication" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.PatCreateRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "fingerprint": { "type": "string" }, "id": { "type": "string" }, "pubKey": { "type": "string" }, "scopes": { "type": "string" }, "userID": { "type": "string" } }, "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] } ], "summary": "Create personal access token", "tags": [ "Authentication" ] } }, "/pats/revoke-by-private-key": { "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.RevokeByPrivateKeyRequest", "summary": "body", "description": "Request body" } } }, "description": "Request body", "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "Revoke PAT by private key", "tags": [ "Authentication" ] } }, "/pats/{tokenID}": { "delete": { "parameters": [ { "description": "Token ID", "in": "path", "name": "tokenID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete personal access token", "tags": [ "Authentication" ] } }, "/sarif-scan": { "post": { "parameters": [ { "description": "Asset version name", "in": "header", "name": "X-Asset-Ref", "schema": { "type": "string" } }, { "description": "Tag flag", "in": "header", "name": "X-Tag", "schema": { "type": "string" } }, { "description": "Default branch", "in": "header", "name": "X-Asset-Default-Branch", "schema": { "type": "string" } }, { "description": "Scanner ID", "in": "header", "name": "X-Scanner", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "SARIF scan result", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.FirstPartyScanResponse" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Scan for first-party vulnerabilities", "tags": [ "Scanning" ] } }, "/scan": { "post": { "parameters": [ { "description": "Asset version name", "in": "header", "name": "X-Asset-Ref", "schema": { "type": "string" } }, { "description": "Artifact name", "in": "header", "name": "X-Artifact-Name", "schema": { "type": "string" } }, { "description": "Tag flag", "in": "header", "name": "X-Tag", "schema": { "type": "string" } }, { "description": "Default branch", "in": "header", "name": "X-Asset-Default-Branch", "schema": { "type": "string" } }, { "description": "Origin", "in": "header", "name": "X-Origin", "schema": { "type": "string" } }, { "description": "Scanner ID", "in": "header", "name": "X-Scanner", "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "CycloneDX SBOM", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.ScanResponse" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Scan for dependency vulnerabilities", "tags": [ "Scanning" ] } }, "/vex": { "post": { "parameters": [ { "description": "Asset version name", "in": "header", "name": "X-Asset-Ref", "schema": { "type": "string" } }, { "description": "Artifact name", "in": "header", "name": "X-Artifact-Name", "schema": { "type": "string" } }, { "description": "Tag flag", "in": "header", "name": "X-Tag", "schema": { "type": "string" } }, { "description": "Default branch", "in": "header", "name": "X-Asset-Default-Branch", "schema": { "type": "string" } }, { "description": "Origin", "in": "header", "name": "X-Origin", "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "CycloneDX VEX BOM", "required": true }, "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Upload VEX document", "tags": [ "Scanning" ] } }, "/vulndb": { "get": { "description": "Get a paginated list of CVEs with optional filtering and sorting", "parameters": [ { "description": "Page number", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "Number of items per page", "in": "query", "name": "limit", "schema": { "type": "integer" } }, { "description": "Sort by field, e.g. 'sort[cve]=asc", "in": "query", "name": "sort", "schema": { "type": "string" } }, { "description": "Filter query, e.g. 'filterQuery[cvss][is greater than]=4'", "in": "query", "name": "filter", "schema": { "type": "string" } }, { "description": "Confidentiality Requirements (low, medium, high), default is medium", "in": "query", "name": "confidentialityRequirements", "schema": { "type": "string" } }, { "description": "Integrity Requirements (low, medium, high), default is medium", "in": "query", "name": "integrityRequirements", "schema": { "type": "string" } }, { "description": "Availability Requirements (low, medium, high), default is medium", "in": "query", "name": "availabilityRequirements", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "data": { "items": { "$ref": "#/components/schemas/models.CVE" }, "type": "array" }, "page": { "type": "integer" }, "pageSize": { "type": "integer" }, "total": { "type": "integer" } }, "type": "object" } } }, "description": "A paginated list of CVEs" }, "500": { "content": { "application/json": { "schema": { "properties": { "message": { "type": "string" } }, "type": "object" } } }, "description": "Internal server error" } }, "summary": "List all CVEs with pagination", "tags": [ "CVE Database", "CVE" ] } }, "/vulndb/{cveID}/": { "get": { "description": "Retrieve details of a specific CVE by its ID, including risk and vector calculations", "parameters": [ { "description": "CVE ID", "in": "path", "name": "cveID", "required": true, "schema": { "type": "string" } }, { "description": "Confidentiality Requirements (low, medium, high), default is medium", "in": "query", "name": "confidentialityRequirements", "schema": { "type": "string" } }, { "description": "Integrity Requirements (low, medium, high), default is medium", "in": "query", "name": "integrityRequirements", "schema": { "type": "string" } }, { "description": "Availability Requirements (low, medium, high), default is medium", "in": "query", "name": "availabilityRequirements", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/models.CVE" } } }, "description": "Details of the specified CVE" }, "500": { "content": { "application/json": { "schema": { "properties": { "message": { "type": "string" } }, "type": "object" } } }, "description": "Internal server error" } }, "summary": "Get a specific CVE by ID", "tags": [ "CVE Database", "CVE" ] } }, "/vulns/{vulnID}": { "get": { "parameters": [ { "description": "Vulnerability ID", "in": "path", "name": "vulnID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.DetailedFirstPartyVulnDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get first-party vulnerability details", "tags": [ "Vulnerabilities" ] } }, "/vulns/{vulnID}/events": { "post": { "parameters": [ { "description": "Vulnerability ID", "in": "path", "name": "vulnID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Event data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.DetailedFirstPartyVulnDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create first-party vulnerability event", "tags": [ "Vulnerabilities" ] } }, "/webhooks": { "post": { "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Webhook data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.WebhookIntegrationDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Create webhook integration", "tags": [ "Webhooks" ] }, "put": { "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Webhook data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dtos.WebhookIntegrationDTO" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Update webhook integration", "tags": [ "Webhooks" ] } }, "/webhooks/test": { "post": { "requestBody": { "content": { "text/plain": { "schema": { "title": "body", "type": "object" } } }, "description": "Test webhook data", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "message": { "type": "string" }, "payloadType": { "type": "string" } }, "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Test webhook integration", "tags": [ "Webhooks" ] } }, "/webhooks/{id}": { "delete": { "parameters": [ { "description": "Webhook ID", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Delete webhook integration", "tags": [ "Webhooks" ] } }, "/whoami": { "get": { "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "userID": { "type": "string" } }, "type": "object" } } }, "description": "OK" } }, "security": [ { "CookieAuth": [] }, { "PATAuth": [] } ], "summary": "Get current user info", "tags": [ "Authentication" ] } } }, "openapi": "3.1.0", "servers": [ { "description": "Development server", "url": "{scheme}://{host}:{port}/api/v1", "variables": { "host": { "default": "localhost" }, "port": { "default": "8080" }, "scheme": { "default": "http", "enum": [ "http", "https" ] } } }, { "description": "Production server", "url": "https://api.devguard.org/api/v1" } ] }