> ## 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.

# Resolve a canonical project reference

> Case-insensitive lookup by native project name (et) or GitHub owner namespace (gh). Uses project inspect permission, including platform administrators. An existing native (et) project the caller cannot inspect returns 403, so a creator can tell a taken name from a free one. Missing projects, and inaccessible GitHub (gh) namespaces, return 404. An automation token always receives 404.



## OpenAPI

````yaml https://us.console.entire.io/api/v1/openapi.json get /projects/resolve/{host}/{project}
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/resolve/{host}/{project}:
    get:
      tags:
        - projects
      summary: Resolve a canonical project reference
      description: >-
        Case-insensitive lookup by native project name (et) or GitHub owner
        namespace (gh). Uses project inspect permission, including platform
        administrators. An existing native (et) project the caller cannot
        inspect returns 403, so a creator can tell a taken name from a free one.
        Missing projects, and inaccessible GitHub (gh) namespaces, return 404.
        An automation token always receives 404.
      operationId: resolveProject
      parameters:
        - in: path
          name: host
          required: true
          schema:
            enum:
              - et
              - gh
            type: string
        - in: path
          name: project
          required: true
          schema:
            maxLength: 39
            minLength: 1
            type: string
        - description: >-
            Optional: live (default) checks GitHub namespace authority now.
            display may answer from a roster up to 70 minutes old; never use a
            display capability to authorize a write.
          explode: false
          in: query
          name: capabilities
          schema:
            description: >-
              Optional: live (default) checks GitHub namespace authority now.
              display may answer from a roster up to 70 minutes old; never use a
              display capability to authorize a write.
            enum:
              - live
              - display
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResolveProjectOutputBody'
          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: []
        - automationToken: []
components:
  schemas:
    ResolveProjectOutputBody:
      additionalProperties: true
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - /api/v1/schemas/ResolveProjectOutputBody.json
          format: uri
          readOnly: true
          type: string
        project:
          $ref: '#/components/schemas/Project'
        reference:
          $ref: '#/components/schemas/ProjectReference'
      required:
        - project
        - reference
      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
    Project:
      additionalProperties: true
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - /api/v1/schemas/Project.json
          format: uri
          readOnly: true
          type: string
        apiUrl:
          description: >-
            Public entire-api base URL for the assigned cell. Empty when
            unassigned or routing is unavailable; do not fall back to another
            cell.
          type: string
        capabilities:
          $ref: '#/components/schemas/ProjectCapabilities'
        createdAt:
          format: date-time
          type: string
        id:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerName:
          type: string
        ownerType:
          enum:
            - org
            - account
          type: string
        primaryProcessingCell:
          description: >-
            Stored processing cell ID, not a cluster slug. Empty when the
            project is unassigned.
          type: string
        region:
          type: string
        repositoryCount:
          description: >-
            Published logical repositories in paginated project listings.
            Omitted without project inspect permission or when unavailable.
          format: int64
          minimum: 0
          type: integer
      required:
        - id
        - name
        - ownerType
        - ownerId
        - region
        - createdAt
        - capabilities
      type: object
    ProjectReference:
      additionalProperties: true
      properties:
        host:
          enum:
            - et
            - gh
          type: string
        project:
          type: string
      required:
        - host
        - project
      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
    ProjectCapabilities:
      additionalProperties: true
      properties:
        canCreateRepository:
          type: boolean
        canDelete:
          type: boolean
        canManageAccess:
          type: boolean
        canManageAgents:
          type: boolean
        canManagePlugins:
          type: boolean
        canManageTrails:
          type: boolean
      required:
        - canDelete
        - canManageAccess
        - canCreateRepository
        - canManageTrails
        - canManagePlugins
      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
    automationToken:
      bearerFormat: JWT
      description: >-
        A token this core issued to an automation, such as a plugin
        installation's.
      scheme: bearer
      type: http

````