> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentvolumes.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Search advisories



## OpenAPI

````yaml /spec/0.1.0-rc.1/api-reference/bibliotheca.openapi.json get /api/v1/advisories
openapi: 3.1.1
info:
  title: Agent Volumes Bibliotheca API
  version: 0.1.0-rc.1
servers: []
security: []
paths:
  /api/v1/advisories:
    get:
      summary: Search advisories
      operationId: searchAdvisories
      parameters:
        - in: query
          name: volume
          schema:
            type: string
      responses:
        '200':
          description: Advisory list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvisoryList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    AdvisoryList:
      type: object
      additionalProperties: false
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/advisory.schema'
    advisory.schema:
      $schema: https://json-schema.org/draft/2020-12/schema
      $id: https://agentvolumes.org/spec/0.1.0-rc.1/schemas/advisory.schema.json
      title: Agent Volumes Advisory
      type: object
      additionalProperties: false
      required:
        - id
        - source
        - severity
        - published
        - updated
        - affected
      properties:
        id:
          type: object
          additionalProperties: false
          required:
            - local
          properties:
            local:
              type: string
            preferredExternal:
              type: string
            aliases:
              type: array
              items:
                type: string
              uniqueItems: true
        source:
          type: object
          additionalProperties: true
          required:
            - ecosystem
          properties:
            ecosystem:
              type: string
              enum:
                - cve
                - ghsa
                - osv
                - bibliotheca
                - other
            url:
              type: string
              format: uri
        severity:
          type: string
          enum:
            - critical
            - high
            - medium
            - low
        published:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        withdrawn:
          type: object
          additionalProperties: false
          required:
            - at
          properties:
            at:
              type: string
              format: date-time
            reason:
              type: string
        relationships:
          type: array
          items:
            type: object
            additionalProperties: false
            required:
              - type
              - target
            properties:
              type:
                type: string
                enum:
                  - supersedes
                  - superseded-by
                  - related
                  - duplicate-of
              target:
                type: string
        affected:
          type: object
          additionalProperties: false
          required:
            - volume
            - ranges
          properties:
            volume:
              $ref: '#/components/schemas/volumeName'
            purl:
              type: string
              pattern: ^pkg:volume/
            ranges:
              type: array
              minItems: 1
              items:
                type: object
                additionalProperties: false
                required:
                  - type
                  - events
                properties:
                  type:
                    type: string
                    enum:
                      - semver
                  events:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      additionalProperties: false
                      minProperties: 1
                      maxProperties: 1
                      properties:
                        introduced:
                          $ref: '#/components/schemas/advisoryVersionEventValue'
                        fixed:
                          $ref: '#/components/schemas/semver'
                        lastAffected:
                          $ref: '#/components/schemas/semver'
                        limit:
                          $ref: '#/components/schemas/semver'
            componentImpact:
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - component
                properties:
                  component:
                    type: string
                    description: >-
                      Informational component impact only; does not change the
                      normative volume-level advisory target.
                  note:
                    type: string
        summary:
          type: string
        details:
          type: string
      $defs:
        volumeName:
          type: string
          maxLength: 194
          pattern: >-
            ^(@(?!.*--)[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?/)?(?!.*--)[a-z0-9](?:[a-z0-9-]{0,126}[a-z0-9])?$
        semver:
          type: string
          pattern: >-
            ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$
        advisoryVersionEventValue:
          type: string
          description: >-
            OSV-style introduced events may use 0 as the beginning-of-time
            sentinel; other values use full SemVer.
          pattern: >-
            ^(?:0|(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)$
    ProblemDetails:
      oneOf:
        - $ref: '#/components/schemas/AuthenticationRequiredProblem'
        - $ref: '#/components/schemas/AuthorizationFailedProblem'
        - $ref: '#/components/schemas/NotFoundProblem'
        - $ref: '#/components/schemas/ValidationFailedProblem'
        - $ref: '#/components/schemas/InvalidManifestProblem'
        - $ref: '#/components/schemas/InvalidArchiveProblem'
        - $ref: '#/components/schemas/IdentityMismatchProblem'
        - $ref: '#/components/schemas/VersionConflictProblem'
        - $ref: '#/components/schemas/DigestMismatchProblem'
        - $ref: '#/components/schemas/SubjectBindingMismatchProblem'
        - $ref: '#/components/schemas/InconsistentRegistryStateProblem'
        - $ref: '#/components/schemas/UploadExpiredProblem'
        - $ref: '#/components/schemas/MissingUploadedBytesProblem'
        - $ref: '#/components/schemas/InvalidUploadStateProblem'
        - $ref: '#/components/schemas/IdempotencyConflictProblem'
        - $ref: '#/components/schemas/PayloadTooLargeProblem'
        - $ref: '#/components/schemas/UnsupportedMediaTypeProblem'
        - $ref: '#/components/schemas/PermissionEscalationProblem'
        - $ref: '#/components/schemas/RateLimitedProblem'
    volumeName:
      type: string
      maxLength: 194
      pattern: >-
        ^(@(?!.*--)[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?/)?(?!.*--)[a-z0-9](?:[a-z0-9-]{0,126}[a-z0-9])?$
    advisoryVersionEventValue:
      type: string
      description: >-
        OSV-style introduced events may use 0 as the beginning-of-time sentinel;
        other values use full SemVer.
      pattern: >-
        ^(?:0|(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)$
    semver:
      type: string
      pattern: >-
        ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$
    AuthenticationRequiredProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/authentication-required
            status:
              const: 401
    AuthorizationFailedProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/authorization-failed
            status:
              const: 403
    NotFoundProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/not-found
            status:
              const: 404
    ValidationFailedProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/validation-failed
            status:
              const: 400
    InvalidManifestProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/invalid-manifest
            status:
              const: 400
    InvalidArchiveProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/invalid-archive
            status:
              const: 400
    IdentityMismatchProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/identity-mismatch
            status:
              const: 409
    VersionConflictProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/version-conflict
            status:
              const: 409
    DigestMismatchProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/digest-mismatch
            status:
              const: 400
    SubjectBindingMismatchProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/subject-binding-mismatch
            status:
              const: 400
    InconsistentRegistryStateProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/inconsistent-registry-state
            status:
              const: 409
    UploadExpiredProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/upload-expired
            status:
              const: 410
    MissingUploadedBytesProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/missing-uploaded-bytes
            status:
              const: 400
    InvalidUploadStateProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/invalid-upload-state
            status:
              const: 409
    IdempotencyConflictProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/idempotency-conflict
            status:
              const: 409
    PayloadTooLargeProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/payload-too-large
            status:
              const: 413
    UnsupportedMediaTypeProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/unsupported-media-type
            status:
              const: 415
    PermissionEscalationProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/permission-escalation
            status:
              const: 400
    RateLimitedProblem:
      allOf:
        - $ref: '#/components/schemas/ProblemDetailsBase'
        - type: object
          properties:
            type:
              const: https://agentvolumes.org/problems/rate-limited
            status:
              const: 429
    ProblemDetailsBase:
      type: object
      additionalProperties: true
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
        title:
          type: string
          minLength: 1
        status:
          type: integer
          minimum: 100
          maximum: 599
        detail:
          type: string
        instance:
          type: string
          format: uri-reference
  responses:
    BadRequest:
      description: Bad request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            validationFailed:
              summary: Request or metadata validation failed
              value:
                type: https://agentvolumes.org/problems/validation-failed
                title: Validation failed
                status: 400
            invalidManifest:
              summary: Submitted volume.toml is invalid
              value:
                type: https://agentvolumes.org/problems/invalid-manifest
                title: Invalid manifest
                status: 400
            invalidArchive:
              summary: Submitted archive violates the transport profile
              value:
                type: https://agentvolumes.org/problems/invalid-archive
                title: Invalid archive
                status: 400
            digestMismatch:
              summary: Submitted bytes do not match the declared digest
              value:
                type: https://agentvolumes.org/problems/digest-mismatch
                title: Digest mismatch
                status: 400
            subjectBindingMismatch:
              summary: Trust artifact subject does not match the release
              value:
                type: https://agentvolumes.org/problems/subject-binding-mismatch
                title: Subject binding mismatch
                status: 400
            missingUploadedBytes:
              summary: Finalize was requested before upload bytes were available
              value:
                type: https://agentvolumes.org/problems/missing-uploaded-bytes
                title: Missing uploaded bytes
                status: 400
    TooManyRequests:
      description: Rate limited
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            rateLimited:
              value:
                type: https://agentvolumes.org/problems/rate-limited
                title: Rate limited
                status: 429

````