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

# List lockfiles in a given repository with dependencies



## OpenAPI

````yaml /public_v1.openapi.yaml post /api/v1/deployments/{deploymentId}/dependencies/repositories/{repositoryId}/lockfiles
openapi: 3.0.3
info:
  description: >

    Welcome to Semgrep's portal for the Semgrep AppSec Platform web API.


    # Introduction

    Semgrep is a fast, open-source, static analysis tool for finding bugs and
    enforcing code standards at editor,

    commit, and CI time. [Get
    started.](https://semgrep.dev/docs/getting-started/)


    This API is documented in the **OpenAPI format**.


    # Authentication

    The API supports authentication with an API token with the "Web API"
    permission, without limited

    scopes of access.


    You can provision an API token [from the Settings
    page](https://semgrep.dev/orgs/-/settings/tokens).


    # Terms of Use


    Please note, the materials made available herein are subject to the

    [Semgrep Terms of Use](https://semgrep.dev/resources/website-terms/), and
    your

    access or use of any of the same is your acknowledgment and acceptance of
    the

    such terms.


    <br>


    ___
  title: Semgrep Web App
  version: 1.0.0
servers: []
security: []
tags:
  - description: >-
      Deployments encapsulate your organization's security organization, with
      multiple projects, policies, and integrations. As the root object of the
      organization, they're similarly the root object of the API.
    name: DeploymentsService
    x-displayName: Deployment
    x-group: Deployment
  - description: >-
      Manage and retrieve code, supply chain, and AI-powered scan findings from
      Semgrep scans
    name: FindingsService
    x-displayName: Code, Supply Chain, and AI-Powered Scan
    x-group: Code, Supply Chain, and AI-Powered Scan
  - description: Utility endpoints.
    name: MiscService
    x-displayName: Other
    x-group: Other
  - description: >-
      View and manage the Policies of your organization.


      Deployments on the Unified Policies model use the [Policies V2
      API](/api/v2/docs/#tag/PoliciesV2Service) instead; this service stops
      working after the migration.
    name: PoliciesService
    x-displayName: Policies
    x-group: Policies
  - name: ProjectsService
    x-displayName: Projects
    x-group: Projects
  - description: View details of scans associated with projects in your organization.
    name: ScansService
    x-displayName: Scans
    x-group: Scans
  - description: View and manage the Secrets of your organization.
    name: SecretsService
    x-displayName: Secrets
    x-group: Secrets
  - description: |-
      Manage the Supply Chain findings and dependencies of your organization.

      A request body is required, but may be an empty object.
    name: SupplyChainService
    x-displayName: Supply Chain
    x-group: Supply Chain
  - description: Create and manage external tickets
    name: TicketingService
    x-displayName: Ticketing
    x-group: Ticketing
  - description: View and manage the triage of your organization.
    name: TriageService
    x-displayName: Triage
    x-group: Triage
paths:
  /api/v1/deployments/{deploymentId}/dependencies/repositories/{repositoryId}/lockfiles:
    post:
      tags:
        - SupplyChainService
      summary: List lockfiles in a given repository with dependencies
      operationId: SupplyChainService_ListLockfilesForDependencies
      parameters:
        - in: path
          name: deploymentId
          required: true
          schema:
            description: >-
              Deployment ID (numeric). Example: `123`. Can be found at
              `/deployments`, or in your Settings in the web UI.
            format: int64
            type: string
        - in: path
          name: repositoryId
          required: true
          schema:
            description: >-
              Repository ID to filter by. Use Projects endpoints to retrieve
              repository IDs.
            format: int64
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/protos.openapi.v1.ListLockfilesForDependenciesRequest
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/protos.openapi.v1.ListLockfilesForDependenciesResponse
          description: OK
      security:
        - SemgrepWebToken: []
components:
  schemas:
    protos.openapi.v1.ListLockfilesForDependenciesRequest:
      properties:
        cursor:
          description: Use cursor in response to get next page of results.
          type: string
        dependencyFilter:
          $ref: '#/components/schemas/protos.sca.v1.DependencyFilter'
        deploymentId:
          description: >-
            Deployment ID (numeric). Example: `123`. Can be found at
            `/deployments`, or in your Settings in the web UI.
          format: int64
          type: string
        pageSize:
          default: 5
          description: 'Number of repositories per page. Default: 5, min: 1, max: 100.'
          example: 100
          format: int64
          maximum: 100
          minimum: 1
          type: integer
        repositoryId:
          description: >-
            Repository ID to filter by. Use Projects endpoints to retrieve
            repository IDs.
          format: int64
          type: string
      required:
        - deployment_id
        - repository_id
      title: List Lockfiles For Dependencies Request
      type: object
    protos.openapi.v1.ListLockfilesForDependenciesResponse:
      properties:
        cursor:
          description: Pass to next request to get next page of results.
          type: string
        hasMore:
          description: True if there are more lockfiles to get.
          type: boolean
        lockfileSummaries:
          description: List of lockfiles.
          items:
            $ref: '#/components/schemas/protos.sca.v1.LockfileDependencySummary'
          type: array
      required:
        - has_more
        - lockfile_summaries
      title: List Lockfiles For Dependencies Response
      type: object
    protos.sca.v1.DependencyFilter:
      description: Object to provide dependency details to filter by.
      properties:
        ecosystem:
          description: |+
            Filter by ecosystem (e.g. npm, pypi, etc).

            | value | description |
            |-------|---------------|
            | no_package_manager |  |
            | npm |  |
            | pypi |  |
            | gomod |  |
            | cargo |  |
            | maven |  |
            | gem |  |
            | composer |  |
            | nuget |  |
            | pub |  |
            | swiftpm |  |
            | hex |  |
            | cocoapods |  |
            | mix |  |
            | opam |  |

          enum:
            - no_package_manager
            - npm
            - pypi
            - gomod
            - cargo
            - maven
            - gem
            - composer
            - nuget
            - pub
            - swiftpm
            - hex
            - cocoapods
            - mix
            - opam
          items:
            enum:
              - no_package_manager
              - npm
              - pypi
              - gomod
              - cargo
              - maven
              - gem
              - composer
              - nuget
              - pub
              - swiftpm
              - hex
              - cocoapods
              - mix
              - opam
            format: enum
            type: string
          type: array
        license:
          description: Filter by license (e.g. MIT).
          items:
            type: string
          type: array
        licensePolicySettings:
          description: |+
            Filter by license policy setting outcome.

            | value | description |
            |-------|---------------|
            | LICENSE_POLICY_SETTING_ALLOW |  |
            | LICENSE_POLICY_SETTING_COMMENT |  |
            | LICENSE_POLICY_SETTING_BLOCK |  |

          enum:
            - LICENSE_POLICY_SETTING_ALLOW
            - LICENSE_POLICY_SETTING_COMMENT
            - LICENSE_POLICY_SETTING_BLOCK
          items:
            enum:
              - LICENSE_POLICY_SETTING_UNSPECIFIED
              - LICENSE_POLICY_SETTING_ALLOW
              - LICENSE_POLICY_SETTING_COMMENT
              - LICENSE_POLICY_SETTING_BLOCK
            format: enum
            type: string
          type: array
        lockfilePath:
          description: Filter by path to the lockfile (e.g. `foo/bar/package-lock.json`).
          type: string
        name:
          description: >-
            Deprecated - use package_filters instead. Filter by dependency name
            (e.g. lodash).
          type: string
        packageFilters:
          description: >-
            Multiple package filters with exact name matching and version
            bounds.
          items:
            $ref: '#/components/schemas/protos.sca.v1.PackageFilter'
          type: array
        repositoryId:
          description: >-
            Repository IDs (numeric) to filter by. Omit if the endpoint has
            Repository ID as a path parameter.
             Use Projects endpoints to retrieve Repository IDs.
          items:
            format: int64
            type: integer
          type: array
        transitivity:
          description: |+
            Filter by transitivity.

            | value | description |
            |-------|---------------|
            | UNKNOWN_TRANSITIVITY |  |
            | TRANSITIVE |  |
            | DIRECT |  |

          enum:
            - UNKNOWN_TRANSITIVITY
            - TRANSITIVE
            - DIRECT
          items:
            enum:
              - UNKNOWN_TRANSITIVITY
              - TRANSITIVE
              - DIRECT
            format: enum
            type: string
          type: array
        version:
          description: >-
            Deprecated - use package_filters instead. Filter by dependency
            version (e.g. 1.0.1).
          type: string
      type: object
    protos.sca.v1.LockfileDependencySummary:
      properties:
        lockfilePath:
          description: Path to lockfile (e.g. foo/bar/package-lock.json).
          type: string
        numDependencies:
          description: Total number of dependencies in the lockfile.
          format: int64
          type: integer
      type: object
    protos.sca.v1.PackageFilter:
      description: Individual package filter with optional version bounds.
      properties:
        exactNameMatch:
          description: >-
            When true, name must match exactly. When false (default), name is
            fuzzy-matched (contains).
          type: boolean
        exactVersion:
          description: |-
            Exact version match (e.g. "1.0.0").
             Takes precedence over version bounds if set.
          type: string
        name:
          description: Exact package name (e.g. lodash).
          type: string
        versionLowerBound:
          description: |-
            Lower bound version constraint (e.g. ">=1.0.0").
             Ignored if exact_version is set.
          type: string
        versionUpperBound:
          description: |-
            Upper bound version constraint (e.g. "<2.0.0").
             Ignored if exact_version is set.
          type: string
      type: object
  securitySchemes:
    SemgrepWebToken:
      bearerFormat: string
      description: >-
        Get access to data with your API token. Example header:


        `Authorization: Bearer
        2991e2fb4b540fe75b8f90677b0b892b6314e4961cb001fe6eb452eee248a628`


        The token can be provisioned from the Tokens section in your Settings,
        and requires explicitly enabling `Web API` access.
      scheme: bearer
      type: http

````