Datadog Vulnerabilities API

The Vulnerabilities API from Datadog — 3 operation(s) for vulnerabilities.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

datadog-vulnerabilities-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  description: The Datadog API is an HTTP REST API. The API uses resource-oriented URLs to call the API, uses status codes to indicate the success or failure of requests, returns JSON from all requests, and uses standard HTTP response codes. Use the Datadog API to access the Datadog platform programmatically.
  title: Datadog Account Vulnerabilities API
  version: '1.0'
servers:
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: The regional site for Datadog customers.
      enum:
      - datadoghq.com
      - us3.datadoghq.com
      - us5.datadoghq.com
      - ap1.datadoghq.com
      - datadoghq.eu
      - ddog-gov.com
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
  variables:
    name:
      default: api.datadoghq.com
      description: Full site DNS name.
    protocol:
      default: https
      description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: Any Datadog deployment.
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
  appKeyAuth: []
tags:
- name: Vulnerabilities
paths:
  /api/v2/security/vulnerabilities:
    get:
      description: "Get a list of vulnerabilities.\n\n### Pagination\n\nPagination is enabled by default in both `vulnerabilities` and `assets`. The size of the page varies depending on the endpoint and cannot be modified. To automate the request of the next page, you can use the links section in the response.\n\nThis endpoint will return paginated responses. The pages are stored in the links section of the response:\n\n```JSON\n{\n  \"data\": [...],\n  \"meta\": {...},\n  \"links\": {\n    \"self\": \"https://.../api/v2/security/vulnerabilities\",\n    \"first\": \"https://.../api/v2/security/vulnerabilities?page[number]=1&page[token]=abc\",\n    \"last\": \"https://.../api/v2/security/vulnerabilities?page[number]=43&page[token]=abc\",\n    \"next\": \"https://.../api/v2/security/vulnerabilities?page[number]=2&page[token]=abc\"\n  }\n}\n```\n\n\n- `links.previous` is empty if the first page is requested.\n- `links.next` is empty if the last page is requested.\n\n#### Token\n\nVulnerabilities can be created, updated or deleted at any point in time.\n\nUpon the first request, a token is created to ensure consistency across subsequent paginated requests.\n\nA token is valid only for 24 hours.\n\n#### First request\n\nWe consider a request to be the first request when there is no `page[token]` parameter.\n\nThe response of this first request contains the newly created token in the `links` section.\n\nThis token can then be used in the subsequent paginated requests.\n\n#### Subsequent requests\n\nAny request containing valid `page[token]` and `page[number]` parameters will be considered a subsequent request.\n\nIf the `token` is invalid, a `404` response will be returned.\n\nIf the page `number` is invalid, a `400` response will be returned.\n\n### Filtering\n\nThe request can include some filter parameters to filter the data to be retrieved. The format of the filter parameters follows the [JSON:API format](https://jsonapi.org/format/#fetching-filtering): `filter[$prop_name]`, where `prop_name` is the property name in the entity being filtered by.\n\nAll filters can include multiple values, where data will be filtered with an OR clause: `filter[title]=Title1,Title2` will filter all vulnerabilities where title is equal to `Title1` OR `Title2`.\n\nString filters are case sensitive.\n\nBoolean filters accept `true` or `false` as values.\n\nNumber filters must include an operator as a second filter input: `filter[$prop_name][$operator]`. For example, for the vulnerabilities endpoint: `filter[cvss.base.score][lte]=8`.\n\nAvailable operators are: `eq` (==), `lt` (<), `lte` (<=), `gt` (>) and `gte` (>=).\n\n### Metadata\n\nFollowing [JSON:API format](https://jsonapi.org/format/#document-meta), object including non-standard meta-information.\n\nThis endpoint includes the meta member in the response. For more details on each of the properties included in this section, check the endpoints response tables.\n\n```JSON\n{\n  \"data\": [...],\n  \"meta\": {\n    \"total\": 1500,\n    \"count\": 18732,\n    \"token\": \"some_token\"\n  },\n  \"links\": {...}\n}\n```\n"
      operationId: ListVulnerabilities
      parameters:
      - description: Its value must come from the `links` section of the response of the first request. Do not manually edit it.
        example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4
        in: query
        name: page[token]
        required: false
        schema:
          type: string
      - description: The page number to be retrieved. It should be equal or greater than `1`
        example: 1
        in: query
        name: page[number]
        required: false
        schema:
          format: int64
          minimum: 1
          type: integer
      - description: Filter by vulnerability type.
        example: WeakCipher
        in: query
        name: filter[type]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilityType'
      - description: Filter by vulnerability base (i.e. from the original advisory) severity score.
        example: 5.5
        in: query
        name: filter[cvss.base.score][`$op`]
        required: false
        schema:
          format: double
          maximum: 10
          minimum: 0
          type: number
      - description: Filter by vulnerability base severity.
        example: Medium
        in: query
        name: filter[cvss.base.severity]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilitySeverity'
      - description: Filter by vulnerability base CVSS vector.
        example: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
        in: query
        name: filter[cvss.base.vector]
        required: false
        schema:
          type: string
      - description: Filter by vulnerability Datadog severity score.
        example: 4.3
        in: query
        name: filter[cvss.datadog.score][`$op`]
        required: false
        schema:
          format: double
          maximum: 10
          minimum: 0
          type: number
      - description: Filter by vulnerability Datadog severity.
        example: Medium
        in: query
        name: filter[cvss.datadog.severity]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilitySeverity'
      - description: Filter by vulnerability Datadog CVSS vector.
        example: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:X/RC:X/CR:X/IR:X/AR:X/MAV:L/MAC:H/MPR:L/MUI:N/MS:U/MC:N/MI:N/MA:H
        in: query
        name: filter[cvss.datadog.vector]
        required: false
        schema:
          type: string
      - description: Filter by the status of the vulnerability.
        example: Open
        in: query
        name: filter[status]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilityStatus'
      - description: Filter by the tool of the vulnerability.
        example: SCA
        in: query
        name: filter[tool]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilityTool'
      - description: Filter by library name.
        example: linux-aws-5.15
        in: query
        name: filter[library.name]
        required: false
        schema:
          type: string
      - description: Filter by library version.
        example: 5.15.0
        in: query
        name: filter[library.version]
        required: false
        schema:
          type: string
      - description: Filter by advisory ID.
        example: TRIVY-CVE-2023-0615
        in: query
        name: filter[advisory_id]
        required: false
        schema:
          type: string
      - description: Filter by exploitation probability.
        example: false
        in: query
        name: filter[risks.exploitation_probability]
        required: false
        schema:
          type: boolean
      - description: Filter by POC exploit availability.
        example: false
        in: query
        name: filter[risks.poc_exploit_available]
        required: false
        schema:
          type: boolean
      - description: Filter by public exploit availability.
        example: false
        in: query
        name: filter[risks.exploit_available]
        required: false
        schema:
          type: boolean
      - description: Filter by vulnerability [EPSS](https://www.first.org/epss/) severity score.
        example: 0.00042
        in: query
        name: filter[risks.epss.score][`$op`]
        required: false
        schema:
          format: double
          maximum: 1
          minimum: 0
          type: number
      - description: Filter by vulnerability [EPSS](https://www.first.org/epss/) severity.
        example: Low
        in: query
        name: filter[risks.epss.severity]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilitySeverity'
      - description: Filter by language.
        example: ubuntu
        in: query
        name: filter[language]
        required: false
        schema:
          type: string
      - description: Filter by ecosystem.
        example: Deb
        in: query
        name: filter[ecosystem]
        required: false
        schema:
          $ref: '#/components/schemas/VulnerabilityEcosystem'
      - description: Filter by vulnerability location.
        example: com.example.Class:100
        in: query
        name: filter[code_location.location]
        required: false
        schema:
          type: string
      - description: Filter by vulnerability file path.
        example: src/Class.java:100
        in: query
        name: filter[code_location.file_path]
        required: false
        schema:
          type: string
      - description: Filter by method.
        example: FooBar
        in: query
        name: filter[code_location.method]
        required: false
        schema:
          type: string
      - description: Filter by fix availability.
        example: false
        in: query
        name: filter[fix_available]
        required: false
        schema:
          type: boolean
      - description: Filter by vulnerability `repo_digest` (when the vulnerability is related to `Image` asset).
        example: sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7
        in: query
        name: filter[repo_digests]
        required: false
        schema:
          type: string
      - description: Filter by asset name.
        example: datadog-agent
        in: query
        name: filter[asset.name]
        required: false
        schema:
          type: string
      - description: Filter by asset type.
        example: Host
        in: query
        name: filter[asset.type]
        required: false
        schema:
          $ref: '#/components/schemas/AssetType'
      - description: Filter by the first version of the asset this vulnerability has been detected on.
        example: v1.15.1
        in: query
        name: filter[asset.version.first]
        required: false
        schema:
          type: string
      - description: Filter by the last version of the asset this vulnerability has been detected on.
        example: v1.15.1
        in: query
        name: filter[asset.version.last]
        required: false
        schema:
          type: string
      - description: Filter by the repository url associated to the asset.
        example: github.com/DataDog/datadog-agent.git
        in: query
        name: filter[asset.repository_url]
        required: false
        schema:
          type: string
      - description: Filter whether the asset is in production or not.
        example: false
        in: query
        name: filter[asset.risks.in_production]
        required: false
        schema:
          type: boolean
      - description: Filter whether the asset is under attack or not.
        example: false
        in: query
        name: filter[asset.risks.under_attack]
        required: false
        schema:
          type: boolean
      - description: Filter whether the asset is publicly accessible or not.
        example: false
        in: query
        name: filter[asset.risks.is_publicly_accessible]
        required: false
        schema:
          type: boolean
      - description: Filter whether the asset is publicly accessible or not.
        example: false
        in: query
        name: filter[asset.risks.has_privileged_access]
        required: false
        schema:
          type: boolean
      - description: Filter whether the asset  has access to sensitive data or not.
        example: false
        in: query
        name: filter[asset.risks.has_access_to_sensitive_data]
        required: false
        schema:
          type: boolean
      - description: Filter by asset environments.
        example: staging
        in: query
        name: filter[asset.environments]
        required: false
        schema:
          type: string
      - description: Filter by asset architecture.
        example: arm64
        in: query
        name: filter[asset.arch]
        required: false
        schema:
          type: string
      - description: Filter by asset operating system name.
        example: ubuntu
        in: query
        name: filter[asset.operating_system.name]
        required: false
        schema:
          type: string
      - description: Filter by asset operating system version.
        example: '24.04'
        in: query
        name: filter[asset.operating_system.version]
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListVulnerabilitiesResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSONAPIErrorResponse'
          description: 'Bad request: The server cannot process the request due to invalid syntax in the request.'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSONAPIErrorResponse'
          description: 'Forbidden: Access denied'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSONAPIErrorResponse'
          description: 'Not found: There is no request associated with the provided token.'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - appsec_vm_read
      summary: Datadog List Vulnerabilities
      tags:
      - Vulnerabilities
      x-menu-order: 25
      x-undo:
        type: safe
      x-unstable: '**Note**: This endpoint is a private preview.

        If you are interested in accessing this API, [fill out this form](https://forms.gle/kMYC1sDr6WDUBDsx9).'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/security/vulnerabilities/notification_rules:
    get:
      description: Returns the list of notification rules for security vulnerabilities.
      operationId: GetVulnerabilityNotificationRules
      responses:
        '200':
          $ref: '#/components/responses/NotificationRulesList'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_notification_profiles_read
      summary: Datadog Get the List of Vulnerability Notification Rules
      tags:
      - Vulnerabilities
      x-menu-order: 15
      x-permission:
        operator: OR
        permissions:
        - security_monitoring_notification_profiles_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/security/vulnerabilities/notification_rules/{id}:
    get:
      description: Get the details of a notification rule for security vulnerabilities.
      operationId: GetVulnerabilityNotificationRule
      parameters:
      - description: ID of the notification rule.
        in: path
        name: id
        required: true
        schema:
          type: string
        example: abc-123-def
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationRuleResponse'
          description: Notification rule details.
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_notification_profiles_read
      summary: Datadog Get Details of a Vulnerability Notification Rule
      tags:
      - Vulnerabilities
      x-menu-order: 18
      x-permission:
        operator: OR
        permissions:
        - security_monitoring_notification_profiles_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    VulnerabilityType:
      description: The vulnerability type.
      enum:
      - AdminConsoleActive
      - CodeInjection
      - CommandInjection
      - ComponentWithKnownVulnerability
      - DangerousWorkflows
      - DefaultAppDeployed
      - DefaultHtmlEscapeInvalid
      - DirectoryListingLeak
      - EmailHtmlInjection
      - EndOfLife
      - HardcodedPassword
      - HardcodedSecret
      - HeaderInjection
      - HstsHeaderMissing
      - InsecureAuthProtocol
      - InsecureCookie
      - InsecureJspLayout
      - LdapInjection
      - MaliciousPackage
      - MandatoryRemediation
      - NoHttpOnlyCookie
      - NoSameSiteCookie
      - NoSqlMongoDbInjection
      - PathTraversal
      - ReflectionInjection
      - RiskyLicense
      - SessionRewriting
      - SessionTimeout
      - SqlInjection
      - Ssrf
      - StackTraceLeak
      - TrustBoundaryViolation
      - Unmaintained
      - UntrustedDeserialization
      - UnvalidatedRedirect
      - VerbTampering
      - WeakCipher
      - WeakHash
      - WeakRandomness
      - XContentTypeHeaderMissing
      - XPathInjection
      - Xss
      example: WeakCipher
      type: string
      x-enum-varnames:
      - ADMIN_CONSOLE_ACTIVE
      - CODE_INJECTION
      - COMMAND_INJECTION
      - COMPONENT_WITH_KNOWN_VULNERABILITY
      - DANGEROUS_WORKFLOWS
      - DEFAULT_APP_DEPLOYED
      - DEFAULT_HTML_ESCAPE_INVALID
      - DIRECTORY_LISTING_LEAK
      - EMAIL_HTML_INJECTION
      - END_OF_LIFE
      - HARDCODED_PASSWORD
      - HARDCODED_SECRET
      - HEADER_INJECTION
      - HSTS_HEADER_MISSING
      - INSECURE_AUTH_PROTOCOL
      - INSECURE_COOKIE
      - INSECURE_JSP_LAYOUT
      - LDAP_INJECTION
      - MALICIOUS_PACKAGE
      - MANDATORY_REMEDIATION
      - NO_HTTP_ONLY_COOKIE
      - NO_SAME_SITE_COOKIE
      - NO_SQL_MONGO_DB_INJECTION
      - PATH_TRAVERSAL
      - REFLECTION_INJECTION
      - RISKY_LICENSE
      - SESSION_REWRITING
      - SESSION_TIMEOUT
      - SQL_INJECTION
      - SSRF
      - STACK_TRACE_LEAK
      - TRUST_BOUNDARY_VIOLATION
      - UNMAINTAINED
      - UNTRUSTED_DESERIALIZATION
      - UNVALIDATED_REDIRECT
      - VERB_TAMPERING
      - WEAK_CIPHER
      - WEAK_HASH
      - WEAK_RANDOMNESS
      - X_CONTENT_TYPE_HEADER_MISSING
      - X_PATH_INJECTION
      - XSS
    RuleUser:
      description: User creating or modifying a rule.
      properties:
        handle:
          description: The user handle.
          example: john.doe@domain.com
          type: string
        name:
          description: The user name.
          example: John Doe
          type: string
      type: object
    RuleName:
      description: Name of the notification rule.
      example: Rule 1
      type: string
    VulnerabilityStatus:
      description: The vulnerability status.
      enum:
      - Open
      - Muted
      - Remediated
      - InProgress
      - AutoClosed
      example: Open
      type: string
      x-enum-varnames:
      - OPEN
      - MUTED
      - REMEDIATED
      - INPROGRESS
      - AUTOCLOSED
    EPSS:
      description: Vulnerability EPSS severity.
      properties:
        score:
          description: Vulnerability EPSS severity score.
          example: 0.2
          format: double
          type: number
        severity:
          $ref: '#/components/schemas/VulnerabilitySeverity'
      required:
      - score
      - severity
      type: object
    ListVulnerabilitiesResponse:
      description: The expected response schema when listing vulnerabilities.
      properties:
        data:
          description: List of vulnerabilities.
          items:
            $ref: '#/components/schemas/Vulnerability'
          type: array
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Metadata'
      required:
      - data
      type: object
    JSONAPIErrorItem:
      description: API error response body
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the error.
          example: Missing required attribute in body
          type: string
        meta:
          additionalProperties: {}
          description: Non-standard meta-information about the error
          type: object
        source:
          $ref: '#/components/schemas/JSONAPIErrorItemSource'
        status:
          description: Status code of the response.
          example: '400'
          type: string
        title:
          description: Short human-readable summary of the error.
          example: Bad Request
          type: string
      type: object
    VulnerabilityEcosystem:
      description: The related vulnerability asset ecosystem.
      enum:
      - PyPI
      - Maven
      - NuGet
      - Npm
      - RubyGems
      - Go
      - Packagist
      - Ddeb
      - Rpm
      - Apk
      - Windows
      type: string
      x-enum-varnames:
      - PYPI
      - MAVEN
      - NUGET
      - NPM
      - RUBY_GEMS
      - GO
      - PACKAGIST
      - D_DEB
      - RPM
      - APK
      - WINDOWS
    RuleTypesItems:
      description: 'Security rule type which can be used in security rules.

        Signal-based notification rules can filter signals based on rule types application_security, log_detection,

        workload_security, signal_correlation, cloud_configuration and infrastructure_configuration.

        Vulnerability-based notification rules can filter vulnerabilities based on rule types application_code_vulnerability,

        application_library_vulnerability, attack_path, container_image_vulnerability, identity_risk, misconfiguration, and api_security.'
      enum:
      - application_security
      - log_detection
      - workload_security
      - signal_correlation
      - cloud_configuration
      - infrastructure_configuration
      - application_code_vulnerability
      - application_library_vulnerability
      - attack_path
      - container_image_vulnerability
      - identity_risk
      - misconfiguration
      - api_security
      type: string
      x-enum-varnames:
      - APPLICATION_SECURITY
      - LOG_DETECTION
      - WORKLOAD_SECURITY
      - SIGNAL_CORRELATION
      - CLOUD_CONFIGURATION
      - INFRASTRUCTURE_CONFIGURATION
      - APPLICATION_CODE_VULNERABILITY
      - APPLICATION_LIBRARY_VULNERABILITY
      - ATTACK_PATH
      - CONTAINER_IMAGE_VULNERABILITY
      - IDENTITY_RISK
      - MISCONFIGURATION
      - API_SECURITY
    Links:
      description: The JSON:API links related to pagination.
      properties:
        first:
          description: First page link.
          example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=1&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4
          type: string
        last:
          description: Last page link.
          example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=15&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4
          type: string
        next:
          description: Next page link.
          example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=16&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4
          type: string
        previous:
          description: Previous page link.
          example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=14&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4
          type: string
        self:
          description: Request link.
          example: https://api.datadoghq.com/api/v2/security/vulnerabilities?filter%5Btool%5D=Infra
          type: string
      required:
      - self
      - first
      - last
      type: object
    VulnerabilityRelationshipsAffectsData:
      description: Asset affected by this vulnerability.
      properties:
        id:
          description: The unique ID for this related asset.
          example: Repository|github.com/DataDog/datadog-agent.git
          type: string
        type:
          $ref: '#/components/schemas/AssetEntityType'
      required:
      - id
      - type
      type: object
    APIErrorResponse:
      description: API error response.
      properties:
        errors:
          description: A list of errors.
          example:
          - Bad Request
          items:
            description: A list of items.
            example: Bad Request
            type: string
          type: array
      required:
      - errors
      type: object
    VulnerabilityTool:
      description: The vulnerability tool.
      enum:
      - IAST
      - SCA
      - Infra
      example: SCA
      type: string
      x-enum-varnames:
      - IAST
      - SCA
      - INFRA
    DependencyLocation:
      description: Static library vulnerability location.
      properties:
        column_end:
          description: Location column end.
          example: 140
          format: int64
          type: integer
        column_start:
          description: Location column start.
          example: 5
          format: int64
          type: integer
        file_name:
          description: Location file name.
          example: src/go.mod
          type: string
        line_end:
          description: Location line end.
          example: 10
          format: int64
          type: integer
        line_start:
          description: Location line start.
          example: 1
          format: int64
          type: integer
      required:
      - file_name
      - line_start
      - line_end
      - column_start
      - column_end
      type: object
    ID:
      description: The ID of a notification rule.
      example: aaa-bbb-ccc
      type: string
    AssetEntityType:
      description: The JSON:API type.
      enum:
      - assets
      example: assets
      type: string
      x-enum-varnames:
      - ASSETS
    CVSS:
      description: Vulnerability severity.
      properties:
        score:
          description: Vulnerability severity score.
          example: 4.5
          format: double
          type: number
        severity:
          $ref: '#/components/schemas/VulnerabilitySeverity'
        vector:
          description: Vulnerability CVSS vector.
          example: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
          type: string
      required:
      - score
      - severity
      - vector
      type: object
    Remediation:
      description: Vulnerability remediation.
      properties:
        auto_solvable:
          description: Whether the vulnerability can be resolved when recompiling the package or not.
          example: false
          type: boolean
        avoided_advisories:
          description: Avoided advisories.
          items:
            $ref: '#/components/schemas/Advisory'
          type: array
        fixed_advisories:
          description: Remediation fixed advisories.
          items:
            $ref: '#/components/schemas/Advisory'
          type: array
        library_name:
          description: Library name remediating the vulnerability.
          example: stdlib
          type: string
        library_version:
          description: Library version remediating the vulnerability.
          example: Upgrade to a version >= 1.20.0
          type: string
        new_advisories:
          description: New advisories.
          items:
            $ref: '#/components/schemas/Advisory'
          type: array
        remaining_advisories:
          description: Remaining advisories.
          items:
            $ref: '#/components/schemas/Advisory'
          type: array
        type:
          description: Remediation type.
          example: text
          type: string
      required:
      - type
      - library_name
      - library_version
      - auto_solvable
      - fixed_advisories
      - remaining_advisories
      - new_advisories
      - avoided_advisories
      type: object
    Enabled:
      description: Field used to enable or disable the rule.
      example: true
      type: boolean
    NotificationRuleAttributes:
      description: Attributes of the notification rule.
      properties:
        created_at:
          $ref: '#/components/schemas/Date'
        created_by:
          $ref: '#/components/schemas/RuleUser'
        enabled:
          $ref: '#/components/schemas/Enabled'
        modified_at:
          $ref: '#/components/schemas/Date'
        modified_by:
          $ref: '#/components/schemas/RuleUser'
        name:
          $ref: '#/components/schemas/RuleName'
        selectors:
          $ref: '#/components/schemas/Selectors'
        targets:
          $ref: '#/components/schemas/Targets'
        time_aggregation:
          $ref: '#/components/schemas/TimeAggregation'
        version:
          $ref: '#/components/schemas/Version'
      required:
      - created_at
      - created_by
      - enabled
      - modified_at
      - modified_by
      - name
      - selectors
      - targets
      - version
      type: object
    TimeAggregation:
      description: 'Time aggregation period (in seconds) is used to aggregate the results of the notification rule evaluation.

        Results are aggregated over a selected time frame using a rolling window, which updates with each new evaluation.

        Notifications are only sent for new issues discovered during the window.

        Time aggregation is only available for vulnerability-based notification rules. When omitted or set to 0, no aggregation

        is done.'
      example: 86400
      format: int64
      type: integer
    VulnerabilityAttributes:
      description: The JSON:API attributes of the vulnerability.
      properties:
        advisory_id:
          description: Vulnerability advisory ID.
          example: TRIVY-CVE-2023-0615
          type: string
        code_location:
          $ref: '#/components/schemas/CodeLocation'
        cve_list:
          description: Vulnerability CVE list.
          example:
          - CVE-2023-0615
          items:
            example: CVE-2023-0615
            type: string
          type: array
        cvss:
          $ref: '#/components/schemas/VulnerabilityCvss'
        dependency_location

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-vulnerabilities-api-openapi.yml