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

# List repositories in a project (or one by name)



## OpenAPI

````yaml https://us.console.entire.io/api/v1/openapi.json get /projects/{projectId}/repos
openapi: 3.1.0
info:
  description: >-
    Entire control plane: identity, orgs, projects, repos, mirrors, service
    accounts.
  title: Entire Core API
  version: 1.0.0
servers:
  - url: https://us.console.entire.io/api/v1
security: []
tags:
  - name: identity
    x-group: Account
  - name: orgs
    x-group: Organizations
  - name: projects
    x-group: Projects
  - name: repos
    x-group: Repositories
  - name: clusters
    x-group: Clusters
paths:
  /projects/{projectId}/repos:
    get:
      tags:
        - repos
      summary: List repositories in a project (or one by name)
      operationId: listProjectRepos
      parameters:
        - description: Maximum entries to return; server may cap further.
          explode: false
          in: query
          name: pageSize
          schema:
            description: Maximum entries to return; server may cap further.
            format: int32
            maximum: 500
            minimum: 0
            type: integer
        - description: Opaque cursor from a previous response's nextPageToken.
          explode: false
          in: query
          name: pageToken
          schema:
            description: Opaque cursor from a previous response's nextPageToken.
            type: string
        - in: path
          name: projectId
          required: true
          schema:
            pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
            type: string
        - description: 'Optional: exact-match repo name (case-insensitive).'
          explode: false
          in: query
          name: name
          schema:
            description: 'Optional: exact-match repo name (case-insensitive).'
            type: string
        - description: >-
            onboarded (default): the project's repos in Entire. all: also lists
            the GitHub owner's unmirrored repos that the caller can access on
            GitHub, after all published repos. Only a GitHub mirrors project has
            such repos. Ignored when name is set.
          explode: false
          in: query
          name: scope
          schema:
            default: onboarded
            description: >-
              onboarded (default): the project's repos in Entire. all: also
              lists the GitHub owner's unmirrored repos that the caller can
              access on GitHub, after all published repos. Only a GitHub mirrors
              project has such repos. Ignored when name is set.
            enum:
              - onboarded
              - all
            type: string
        - description: >-
            Optional: opaque commit token from a create, to read a snapshot that
            contains that write.
          explode: false
          in: query
          name: commitToken
          schema:
            description: >-
              Optional: opaque commit token from a create, to read a snapshot
              that contains that write.
            pattern: ^$|^[A-Za-z0-9_-]{60,512}$
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProjectReposOutputBody'
          description: OK
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Bad Request
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Forbidden
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Not Found
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Internal Server Error
      security:
        - oauth2: []
        - oidc: []
        - bearerAuth: []
        - sessionAuth: []
components:
  schemas:
    ListProjectReposOutputBody:
      additionalProperties: true
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - /api/v1/schemas/ListProjectReposOutputBody.json
          format: uri
          readOnly: true
          type: string
        candidatesIncomplete:
          type: boolean
        nextPageToken:
          description: Pass back to fetch the next page; empty when no more entries.
          type: string
        repo:
          $ref: '#/components/schemas/Repo'
        repos:
          items:
            $ref: '#/components/schemas/Repo'
          type: array
      type: object
    ErrorModel:
      additionalProperties: true
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - /api/v1/schemas/ErrorModel.json
          format: uri
          readOnly: true
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    Repo:
      additionalProperties: true
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - /api/v1/schemas/Repo.json
          format: uri
          readOnly: true
          type: string
        candidate:
          $ref: '#/components/schemas/RepoCandidate'
        capabilities:
          $ref: '#/components/schemas/RepoCapabilities'
        clusterHost:
          type: string
        clusterSlug:
          type: string
        detachedAt:
          format: date-time
          type: string
        foreign:
          type: boolean
        fullName:
          type: string
        id:
          type: string
        jurisdiction:
          type: string
        lastPushedAt:
          format: date-time
          type: string
        mirrorSuspended:
          type: boolean
        mirrorSuspendedAt:
          type: string
        name:
          type: string
        objectFormat:
          enum:
            - sha1
            - sha256
          type: string
        owningProjectId:
          type: string
        path:
          type: string
        placements:
          items:
            $ref: '#/components/schemas/RepoPlacement'
          type: array
        primaries:
          $ref: '#/components/schemas/RepoPrimaries'
        provider:
          enum:
            - github
            - entire
          type: string
        provisionAttempts:
          format: int64
          type: integer
        provisionReason:
          type: string
        repoGroupId:
          type: string
        state:
          description: >-
            Provisioning lifecycle. A mirror is active from creation, before its
            initial clone completes. A native primary reports deleting while a
            cascade delete removes its native mirrors; poll until 404.
          enum:
            - provisioning
            - active
            - failed
            - deleting
          type: string
        visibility:
          enum:
            - public
            - private
          type: string
      required:
        - id
        - owningProjectId
        - name
        - provider
        - capabilities
      type: object
    ErrorDetail:
      additionalProperties: true
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    RepoCandidate:
      additionalProperties: true
      properties:
        access:
          enum:
            - read
            - write
            - admin
          type: string
        onboardable:
          type: boolean
      required:
        - access
        - onboardable
      type: object
    RepoCapabilities:
      additionalProperties: true
      properties:
        canManage:
          type: boolean
        canPull:
          type: boolean
        canPush:
          type: boolean
      required:
        - canManage
        - canPush
        - canPull
      type: object
    RepoPlacement:
      additionalProperties: true
      properties:
        apiBaseUrl:
          type: string
        cell:
          type: string
        clusterSlug:
          type: string
        id:
          type: string
        jurisdiction:
          type: string
        mirror:
          type: boolean
        status:
          enum:
            - processing
            - ready
            - failed
            - suspended
          type: string
      required:
        - id
        - jurisdiction
        - cell
        - clusterSlug
        - mirror
        - status
      type: object
    RepoPrimaries:
      additionalProperties: true
      properties:
        data_primary:
          $ref: '#/components/schemas/ForgeRepoIdentity'
        git_data:
          type: string
        processing:
          type: string
        processing_primary:
          $ref: '#/components/schemas/ForgeRepoIdentity'
      required:
        - git_data
        - processing
        - data_primary
      type: object
    ForgeRepoIdentity:
      additionalProperties: true
      properties:
        forge:
          type: string
        repo_id:
          type: string
      required:
        - forge
        - repo_id
      type: object
  securitySchemes:
    oauth2:
      description: >-
        Authorization code flow with PKCE-S256. RFC 8628 device flow is also
        supported.
      flows:
        authorizationCode:
          authorizationUrl: /authorize
          scopes:
            offline_access: Request a refresh token.
            openid: Authenticate using OpenID Connect.
          tokenUrl: /oauth/token
      type: oauth2
    oidc:
      description: OpenID Connect discovery for browser and RFC 8628 device authentication.
      openIdConnectUrl: /.well-known/openid-configuration
      type: openIdConnect
    bearerAuth:
      bearerFormat: JWT
      description: Bearer access token.
      scheme: bearer
      type: http
    sessionAuth:
      description: Console session cookie issued by the browser login flow.
      in: cookie
      name: entire_session
      type: apiKey

````