From 571c2cb02a4cd9c6e27f716042cc2d7a24a911f7 Mon Sep 17 00:00:00 2001 From: dependencytrack-bot <106437498+dependencytrack-bot@users.noreply.github.com> Date: Fri, 18 Sep 2026 09:18:12 +0000 Subject: [PATCH] Update OpenAPI docs Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- docs/reference/api/openapi-v1.yaml | 476 ++++++----------------------- docs/reference/api/openapi-v2.yaml | 119 +------- 2 files changed, 89 insertions(+), 506 deletions(-) diff --git a/docs/reference/api/openapi-v1.yaml b/docs/reference/api/openapi-v1.yaml index 147b8ef4..bd43d2b0 100644 --- a/docs/reference/api/openapi-v1.yaml +++ b/docs/reference/api/openapi-v1.yaml @@ -65,29 +65,6 @@ info: The total number of items in the collection across all pages is returned in the `X-Total-Count` response header. - ### Bounded total counts - - An exact `X-Total-Count` gets more expensive as a collection grows, and on large - collections it can time out. Some endpoints therefore accept an optional `totalCount` - query parameter that caps the cost of counting: - - | `totalCount` | Description | - |--------------|--------------------------------------------------------------------| - | `EXACT` | Count every matching item. The default. Can time out. | - | `BOUNDED` | Stop counting at a server-side cap. May return only a lower bound. | - - Any other value is rejected with `400`. Each endpoint documents how it computes the - bounded count, on its `totalCount` parameter. - - Endpoints that accept `totalCount` also return an `X-Total-Count-Type` header saying - how to read `X-Total-Count`. They return it on every collection response, including - ones that did not opt in. - - | `X-Total-Count-Type` | Meaning | - |----------------------|----------------------------------------------------------------------| - | `EXACT` | `X-Total-Count` is the true total. | - | `AT_LEAST` | `X-Total-Count` is only a lower bound. The true total may be higher. | - ## HTTP Methods | Method | Semantics | @@ -109,15 +86,6 @@ info: Delete (`DELETE`) operations typically return `204 No Content`. - ## Timeouts - - A request that takes too long to complete is aborted and answered - with `504 Gateway Timeout` and a problem details body. Any operation - can time out, so operations do not document it individually. - - Requesting a bounded total count can avoid the timeout where the - operation supports it, because counting is often the expensive part. - ## Deprecations Operations may be removed or replaced over time. When a response @@ -141,7 +109,7 @@ paths: operationId: addMapping requestBody: content: - application/json: + '*/*': schema: $ref: "#/components/schemas/AclMappingRequest" responses: @@ -321,7 +289,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/AnalysisTrailResponse" + $ref: "#/components/schemas/Analysis" description: An analysis trail "401": description: Unauthorized @@ -353,7 +321,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/AnalysisTrailResponse" + $ref: "#/components/schemas/Analysis" description: The created analysis "401": description: Unauthorized @@ -526,7 +494,6 @@ paths: default: false bom: type: string - format: binary isActive: type: boolean isLatest: @@ -1132,10 +1099,6 @@ paths: $ref: "#/components/schemas/ProblemDetails" description: Access to the requested project is forbidden "404": - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetails" description: |- - The UUID of the project could not be found - The UUID of the component could not be found @@ -2064,21 +2027,6 @@ paths: name: isKev schema: type: boolean - - description: "The counting mode for `X-Total-Count`. With `BOUNDED`, the count\ - \ stops at a fixed server-side cap. `X-Total-Count` is then exact when the\ - \ count finishes within the cap, or when the requested page ends the result\ - \ set. Otherwise it is a lower bound, never below the end of the requested\ - \ page. `X-Total-Count-Type` says which case applies. See the Pagination\ - \ section of the API description." - in: query - name: totalCount - schema: - type: string - default: EXACT - description: The counting mode for the `X-Total-Count` response header. - enum: - - EXACT - - BOUNDED responses: "200": content: @@ -2090,19 +2038,10 @@ paths: description: A list of all findings headers: X-Total-Count: - description: "The number of findings, exact or a lower bound. See `X-Total-Count-Type`." + description: The total number of findings schema: format: integer style: simple - X-Total-Count-Type: - $ref: "#/components/headers/TotalCountType" - style: simple - "400": - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetails" - description: Invalid query parameter "401": description: Unauthorized security: @@ -2249,21 +2188,6 @@ paths: name: isKev schema: type: boolean - - description: "The counting mode for `X-Total-Count`. With `BOUNDED`, the count\ - \ is skipped and `X-Total-Count` reports what the requested page itself\ - \ proves. `X-Total-Count-Type` is then `EXACT` when the page ends the result\ - \ set, and `AT_LEAST` otherwise. A page past the end reports `AT_LEAST`\ - \ with a count of 0, which means the total is unknown. See the Pagination\ - \ section of the API description." - in: query - name: totalCount - schema: - type: string - default: EXACT - description: The counting mode for the `X-Total-Count` response header. - enum: - - EXACT - - BOUNDED responses: "200": content: @@ -2275,19 +2199,10 @@ paths: description: A list of all findings grouped by vulnerability headers: X-Total-Count: - description: "The number of findings, exact or a lower bound. See `X-Total-Count-Type`." + description: The total number of findings schema: format: integer style: simple - X-Total-Count-Type: - $ref: "#/components/headers/TotalCountType" - style: simple - "400": - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetails" - description: Invalid query parameter "401": description: Unauthorized security: @@ -2373,7 +2288,6 @@ paths: - OSV - SNYK - CX - - JVN - UNKNOWN - in: header name: accept @@ -2400,21 +2314,6 @@ paths: name: isKev schema: type: boolean - - description: "The counting mode for `X-Total-Count`. With `BOUNDED`, the count\ - \ stops at a fixed server-side cap. `X-Total-Count` is then exact when the\ - \ count finishes within the cap, or when the requested page ends the result\ - \ set. Otherwise it is a lower bound, never below the end of the requested\ - \ page. `X-Total-Count-Type` says which case applies. See the Pagination\ - \ section of the API description." - in: query - name: totalCount - schema: - type: string - default: EXACT - description: The counting mode for the `X-Total-Count` response header. - enum: - - EXACT - - BOUNDED responses: "200": content: @@ -2427,22 +2326,13 @@ paths: schema: type: string description: "A list of all findings for a specific project, or a SARIF\ - \ file. SARIF responses carry no count headers." + \ file" headers: X-Total-Count: - description: "The number of findings, exact or a lower bound. See `X-Total-Count-Type`." + description: The total number of findings schema: format: integer style: simple - X-Total-Count-Type: - $ref: "#/components/headers/TotalCountType" - style: simple - "400": - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetails" - description: Invalid query parameter "401": description: Unauthorized "403": @@ -2568,7 +2458,7 @@ paths: operationId: addMapping_1 requestBody: content: - application/json: + '*/*': schema: $ref: "#/components/schemas/MappedLdapGroupRequest" responses: @@ -2576,7 +2466,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/MappedLdapGroupResponse" + $ref: "#/components/schemas/MappedLdapGroup" description: The created mapping "401": description: Unauthorized @@ -2634,7 +2524,7 @@ paths: schema: type: array items: - $ref: "#/components/schemas/MappedLdapGroupResponse" + $ref: "#/components/schemas/MappedLdapGroup" description: DNs of all groups mapped to the specified team "401": description: Unauthorized @@ -2716,7 +2606,7 @@ paths: operationId: createLicense requestBody: content: - application/json: + '*/*': schema: $ref: "#/components/schemas/CreateLicenseRequest" responses: @@ -3668,7 +3558,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DeleteNotificationRuleRequest" + $ref: "#/components/schemas/NotificationRule" responses: "204": description: Notification rule removed successfully @@ -4033,7 +3923,7 @@ paths: schema: type: array items: - $ref: "#/components/schemas/OidcGroupResponse" + $ref: "#/components/schemas/OidcGroup" description: A list of all groups "401": description: Unauthorized @@ -4050,13 +3940,13 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UpdateOidcGroupRequest" + $ref: "#/components/schemas/OidcGroup" responses: "200": content: application/json: schema: - $ref: "#/components/schemas/OidcGroupResponse" + $ref: "#/components/schemas/OidcGroup" description: The updated group "401": description: Unauthorized @@ -4073,13 +3963,13 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/CreateOidcGroupRequest" + $ref: "#/components/schemas/OidcGroup" responses: "201": content: application/json: schema: - $ref: "#/components/schemas/OidcGroupResponse" + $ref: "#/components/schemas/OidcGroup" description: The created group "401": description: Unauthorized @@ -4183,7 +4073,7 @@ paths: operationId: addMapping_2 requestBody: content: - application/json: + '*/*': schema: $ref: "#/components/schemas/MappedOidcGroupRequest" responses: @@ -4191,7 +4081,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/MappedOidcGroupResponse" + $ref: "#/components/schemas/MappedOidcGroup" description: The created mapping "401": description: Unauthorized @@ -4939,7 +4829,7 @@ paths:

To re-parent the project, set parent to an object containing the new parent's uuid. Omit parent (or set it to - null) to remove the parent. Providing parent + null) to leave the parent unchanged. Providing parent without a non-null uuid is rejected with 400.

Requires permission PORTFOLIO_MANAGEMENT or PORTFOLIO_MANAGEMENT_UPDATE

@@ -5453,6 +5343,7 @@ paths: - description: The version of the project to query on in: query name: version + required: true schema: type: string responses: @@ -5676,10 +5567,6 @@ paths: $ref: "#/components/schemas/ProblemDetails" description: Access to the requested project is forbidden "404": - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetails" description: The UUID of the project could not be found "500": description: Unable to delete components of the project @@ -6850,7 +6737,7 @@ paths: schema: type: array items: - $ref: "#/components/schemas/TagResponse" + $ref: "#/components/schemas/Tag" description: A list of all tags associated with a given policy headers: X-Total-Count: @@ -7501,7 +7388,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DeleteTeamRequest" + $ref: "#/components/schemas/Team" responses: "204": description: Team removed successfully @@ -7747,52 +7634,8 @@ paths: - team /v1/team/visible: get: - description:

Optional query parameter searchText. The search - is case insensitive and matches team names.

+ description:

operationId: availableTeams - parameters: - - description: Optional case-insensitive substring match on team name. - in: query - name: searchText - schema: - type: string - - description: The page to return. To be used in conjunction with pageSize. - in: query - name: pageNumber - schema: - type: string - default: "1" - - description: Number of elements to return per page. To be used in conjunction - with pageNumber. - in: query - name: pageSize - schema: - type: string - default: "100" - - description: Offset to start returning elements from. To be used in conjunction - with limit. - in: query - name: offset - schema: - type: string - - description: Number of elements to return per page. To be used in conjunction - with offset. - in: query - name: limit - schema: - type: string - - description: Name of the resource field to sort on. - in: query - name: sortName - schema: - type: string - - description: Ordering of items when sorting with sortName. - in: query - name: sortOrder - schema: - type: string - enum: - - "asc, desc" responses: "200": content: @@ -7802,12 +7645,6 @@ paths: items: $ref: "#/components/schemas/VisibleTeams" description: The Visible Teams - headers: - X-Total-Count: - description: The total number of visible teams - schema: - format: integer - style: simple "401": description: Unauthorized security: @@ -7915,7 +7752,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DeleteUserRequest" + $ref: "#/components/schemas/LdapUser" responses: "204": description: LDAP user removed successfully @@ -8045,7 +7882,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DeleteUserRequest" + $ref: "#/components/schemas/ManagedUser" responses: "204": description: User removed successfully @@ -8184,7 +8021,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DeleteUserRequest" + $ref: "#/components/schemas/OidcUser" responses: "204": description: OIDC user removed successfully @@ -8306,7 +8143,7 @@ paths: operationId: updateSelf requestBody: content: - application/json: + '*/*': schema: $ref: "#/components/schemas/ManagedUser" responses: @@ -9644,15 +9481,6 @@ paths: tags: - version components: - headers: - TotalCountType: - description: Whether `X-Total-Count` is exact (`EXACT`) or a lower bound (`AT_LEAST`). - `AT_LEAST` with a count of 0 means the total is unknown. - schema: - type: string - enum: - - EXACT - - AT_LEAST schemas: About: type: object @@ -9740,8 +9568,7 @@ components: lastSeen: type: integer format: int64 - deprecated: true - description: Deprecated; always equal to firstSeen + description: UNIX epoch timestamp in milliseconds source: type: string enum: @@ -9753,17 +9580,19 @@ components: - OSV - SNYK - CX - - JVN - UNKNOWN required: - firstSeen - lastSeen - AnalysisRequest: + Analysis: type: object properties: + analysisComments: + type: array + items: + $ref: "#/components/schemas/AnalysisComment" analysisDetails: type: string - pattern: "^[\\p{IsWhite_Space}\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\n\\r\\t]*$" analysisJustification: type: string enum: @@ -9795,40 +9624,60 @@ components: - NOT_AFFECTED - RESOLVED - NOT_SET - comment: + cvssV2Score: + type: number + cvssV2Vector: type: string - pattern: "^[\\p{IsWhite_Space}\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\n\\r\\t]*$" - component: + cvssV3Score: + type: number + cvssV3Vector: + type: string + cvssV4Score: + type: number + cvssV4Vector: type: string - pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" isSuppressed: type: boolean - writeOnly: true - project: + owaspScore: + type: number + owaspVector: type: string - pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" - suppressed: - type: boolean - vulnerability: + severity: type: string - pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + enum: + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + - UNASSIGNED required: - - component - - vulnerability - AnalysisTrailResponse: + - analysisDetails + - analysisJustification + - analysisResponse + - analysisState + AnalysisComment: + type: object + properties: + comment: + type: string + commenter: + type: string + timestamp: + type: integer + format: int64 + description: UNIX epoch timestamp in milliseconds + required: + - comment + - timestamp + AnalysisRequest: type: object properties: - analysisComments: - type: array - description: Audit trail of analysis comments - items: - $ref: "#/components/schemas/Comment" analysisDetails: type: string - description: Free-form details of the analysis decision + pattern: "^[\\p{IsWhite_Space}\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\n\\r\\t]*$" analysisJustification: type: string - description: The justification of the analysis decision enum: - CODE_NOT_PRESENT - CODE_NOT_REACHABLE @@ -9842,7 +9691,6 @@ components: - NOT_SET analysisResponse: type: string - description: The vendor response to the vulnerability enum: - CAN_NOT_FIX - WILL_NOT_FIX @@ -9852,7 +9700,6 @@ components: - NOT_SET analysisState: type: string - description: The state of the analysis decision enum: - EXPLOITABLE - IN_TRIAGE @@ -9860,47 +9707,26 @@ components: - NOT_AFFECTED - RESOLVED - NOT_SET - cvssV2Score: - type: number - description: CVSS v2 score assigned by the analysis - cvssV2Vector: - type: string - description: CVSS v2 vector assigned by the analysis - cvssV3Score: - type: number - description: CVSS v3 score assigned by the analysis - cvssV3Vector: + comment: type: string - description: CVSS v3 vector assigned by the analysis - cvssV4Score: - type: number - description: CVSS v4 score assigned by the analysis - cvssV4Vector: + pattern: "^[\\p{IsWhite_Space}\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\n\\r\\t]*$" + component: type: string - description: CVSS v4 vector assigned by the analysis + pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" isSuppressed: type: boolean - description: Whether the finding is suppressed - owaspScore: - type: number - description: OWASP Risk Rating score assigned by the analysis - owaspVector: + writeOnly: true + project: type: string - description: OWASP Risk Rating vector assigned by the analysis - severity: + pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + suppressed: + type: boolean + vulnerability: type: string - description: Severity assigned by the analysis - enum: - - CRITICAL - - HIGH - - MEDIUM - - LOW - - INFO - - UNASSIGNED + pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" required: - - analysisComments - - analysisState - - isSuppressed + - component + - vulnerability ApiKey: type: object properties: @@ -9933,7 +9759,6 @@ components: type: boolean bom: type: string - format: bytes description: Base64 encoded BOM example: ewogICJib21Gb3JtYXQiOiAiQ3ljbG9uZURYIiwKICAic3BlY1ZlcnNpb24iOiAiMS40IiwKICAiY29tcG9uZW50cyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICJuYW1lIjogImFjbWUtbGliIiwKICAgICAgInZlcnNpb24iOiAiMS4wLjAiCiAgICB9CiAgXQp9 pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" @@ -10120,7 +9945,6 @@ components: type: array items: type: string - format: uuid uniqueItems: true description: type: string @@ -10728,17 +10552,6 @@ components: - name - publisher - scope - CreateOidcGroupRequest: - type: object - properties: - name: - type: string - description: Name of the group to create - maxLength: 255 - minLength: 1 - pattern: "[\\P{Cc}]+" - required: - - name CreatePolicyConditionRequest: type: object properties: @@ -10954,15 +10767,6 @@ components: - UNKNOWN name: type: string - DeleteNotificationRuleRequest: - type: object - properties: - uuid: - type: string - format: uuid - description: UUID of the notification rule to delete - required: - - uuid DeleteProjectPropertyRequest: type: object properties: @@ -10981,24 +10785,6 @@ components: required: - groupName - propertyName - DeleteTeamRequest: - type: object - properties: - uuid: - type: string - format: uuid - description: UUID of the team to delete - required: - - uuid - DeleteUserRequest: - type: object - properties: - username: - type: string - description: Username of the user to delete - minLength: 1 - required: - - username DependencyGraphResponse: type: object properties: @@ -11253,16 +11039,6 @@ components: properties: processing: type: boolean - status: - type: string - description: The processing status associated with the token. Null when - no processing is associated with the token. - enum: - - PENDING - - RUNNING - - COMPLETED - - FAILED - nullable: true required: - processing LdapUser: @@ -11282,10 +11058,6 @@ components: type: array items: $ref: "#/components/schemas/Permission" - teams: - type: array - items: - $ref: "#/components/schemas/Team" username: type: string maxLength: 255 @@ -11609,19 +11381,6 @@ components: required: - dn - team - MappedLdapGroupResponse: - type: object - properties: - dn: - type: string - description: Distinguished name of the mapped LDAP group - uuid: - type: string - format: uuid - description: UUID of the mapping - required: - - dn - - uuid MappedOidcGroup: type: object properties: @@ -11644,18 +11403,6 @@ components: required: - group - team - MappedOidcGroupResponse: - type: object - properties: - group: - $ref: "#/components/schemas/OidcGroupResponse" - uuid: - type: string - format: uuid - description: UUID of the mapping - required: - - group - - uuid NotificationPublisher: type: object properties: @@ -11845,19 +11592,6 @@ components: required: - name - uuid - OidcGroupResponse: - type: object - properties: - name: - type: string - description: Name of the group - uuid: - type: string - format: uuid - description: UUID of the group - required: - - name - - uuid OidcUser: type: object properties: @@ -11866,19 +11600,11 @@ components: maxLength: 255 minLength: 0 pattern: "[\\P{Cc}]+" - permissions: - type: array - items: - $ref: "#/components/schemas/Permission" subjectIdentifier: type: string maxLength: 255 minLength: 1 pattern: "[\\P{Cc}]+" - teams: - type: array - items: - $ref: "#/components/schemas/Team" username: type: string maxLength: 255 @@ -11952,8 +11678,6 @@ components: type: boolean includeChildren: type: boolean - invertTagMatch: - type: boolean name: type: string maxLength: 255 @@ -12851,14 +12575,6 @@ components: - detail - status - title - TagResponse: - type: object - properties: - name: - type: string - description: Name of the tag - required: - - name TaggedCollectionProjectListResponseItem: type: object properties: @@ -13232,22 +12948,6 @@ components: - name - scope - uuid - UpdateOidcGroupRequest: - type: object - properties: - name: - type: string - description: New name of the group - maxLength: 255 - minLength: 1 - pattern: "[\\P{Cc}]+" - uuid: - type: string - format: uuid - description: UUID of the group to update - required: - - name - - uuid UpdatePolicyConditionRequest: type: object properties: diff --git a/docs/reference/api/openapi-v2.yaml b/docs/reference/api/openapi-v2.yaml index 8dd3a10a..6f3cb81c 100644 --- a/docs/reference/api/openapi-v2.yaml +++ b/docs/reference/api/openapi-v2.yaml @@ -76,10 +76,6 @@ info: } ``` - A request that takes too long to complete is aborted and rejected - with `504 Gateway Timeout`. Any operation can time out, so operations - do not document it individually. - ## Authentication Two credential types are accepted: @@ -175,8 +171,6 @@ tags: description: Endpoints related to components - name: Extensions description: Endpoints related to extensions -- name: Kev Data Sources - description: Endpoints related to KEV data sources - name: Projects description: Endpoints related to projects - name: Secrets @@ -665,89 +659,6 @@ paths: $ref: "#/components/responses/generic-not-found-error" default: $ref: "#/components/responses/generic-error" - /kev-data-sources/{name}/mirror-runs: - post: - tags: - - Kev Data Sources - summary: Trigger a KEV data source mirror run - description: |- - Triggers a mirror run for the given KEV data source. - - Requires permission `SYSTEM_CONFIGURATION` or `SYSTEM_CONFIGURATION_UPDATE`. - operationId: triggerKevDataSourceMirrorRun - parameters: - - name: name - in: path - description: "Name of the KEV data source (e.g. `cisa`, `enisa`)." - required: true - schema: - type: string - responses: - "202": - description: Mirror run triggered - headers: - Location: - description: URL of the latest mirror run resource. - schema: - type: string - format: uri - "400": - description: Mirror run cannot be started - content: - application/problem+json: - schema: - $ref: "#/components/schemas/problem-details" - "401": - $ref: "#/components/responses/generic-unauthorized-error" - "403": - $ref: "#/components/responses/generic-forbidden-error" - "404": - $ref: "#/components/responses/generic-not-found-error" - "409": - description: A mirror run is already in progress - content: - application/problem+json: - schema: - $ref: "#/components/schemas/problem-details" - default: - $ref: "#/components/responses/generic-error" - /kev-data-sources/{name}/mirror-runs/latest: - get: - tags: - - Kev Data Sources - summary: Get the latest KEV data source mirror run - description: |- - Returns the status of the most recent mirror run for a given - KEV data source. - - Returns 404 if no mirror run is available - (e.g. none has been triggered yet, or the most recent run - is no longer retained), or if the data source is unknown. - - Requires permission `SYSTEM_CONFIGURATION` or `SYSTEM_CONFIGURATION_READ`. - operationId: getLatestKevDataSourceMirrorRun - parameters: - - name: name - in: path - description: "Name of the KEV data source (e.g. `cisa`, `enisa`)." - required: true - schema: - type: string - responses: - "200": - description: Mirror run status - content: - application/json: - schema: - $ref: "#/components/schemas/kev-data-source-mirror-status" - "401": - $ref: "#/components/responses/generic-unauthorized-error" - "403": - $ref: "#/components/responses/generic-forbidden-error" - "404": - $ref: "#/components/responses/generic-not-found-error" - default: - $ref: "#/components/responses/generic-error" /projects/{uuid}/clone: post: tags: @@ -2184,26 +2095,6 @@ components: type: array items: $ref: "#/components/schemas/extension-test-check" - kev-data-source-mirror-status: - required: - - status - type: object - properties: - status: - type: string - description: Status of the mirror run. - enum: - - PENDING - - RUNNING - - COMPLETED - - FAILED - started_at: - $ref: "#/components/schemas/timestamp" - completed_at: - $ref: "#/components/schemas/timestamp" - failure_reason: - type: string - description: Reason for why the mirror run failed. clone-project-request: required: - version @@ -2836,16 +2727,12 @@ components: list-extensions-response-item: required: - configurable - - display_name - name - testable type: object properties: name: type: string - display_name: - type: string - description: Human-readable name of the extension. configurable: type: boolean description: Whether the extension supports runtime configuration. @@ -3110,7 +2997,6 @@ components: kev-assertion: required: - asserter - - asserter_display_name - created_at - updated_at - vuln_id @@ -3120,10 +3006,7 @@ components: asserter: type: string description: "The entity that asserted the vulnerability is known to be\ - \ exploited (e.g. `cisa`, `enisa`)." - asserter_display_name: - type: string - description: Human-readable name of the asserting entity (e.g. `CISA KEV`). + \ exploited (e.g. `CISA`, `ENISA`)." vuln_source: type: string description: Source of the asserted vulnerability identifier (e.g. `NVD`).