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

# List cost estimations

> List cost estimations for your organization.

Returns cost estimations for the organization, most recent first. Use offset-based pagination to page through results.

<Info>**Scope required**: `read`</Info>

<Note>
  Unlike most list endpoints, cost estimations use **offset‑based pagination**
  (`limit` + `offset`) instead of `page` + `limit`. See [Pagination, filtering &
  sorting](/api-reference/pagination-filtering) for the general conventions.
</Note>


## OpenAPI

````yaml GET /cost-estimations
openapi: 3.0.0
info:
  title: Hacktron REST API
  description: Public REST API for programmatic access to Hacktron
  version: '1.0'
  contact: {}
servers:
  - url: https://api.hacktron.ai/v1
security:
  - api-key: []
tags: []
paths:
  /cost-estimations:
    get:
      tags:
        - REST API - Cost Estimations
      summary: List cost estimations
      operationId: RestCostEstimationController_list
      parameters:
        - name: limit
          required: false
          in: query
          schema:
            type: number
        - name: offset
          required: false
          in: query
          schema:
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestCostEstimationListResponseDto'
components:
  schemas:
    RestCostEstimationListResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CostEstimationResponseDto'
        total:
          type: number
      required:
        - data
        - total
    CostEstimationResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Estimation UUID
          example: 123e4567-e89b-12d3-a456-426614174000
        organization_id:
          type: string
          description: Organization UUID
          example: f336d0bc-b841-465b-8045-024475c079dd
        user_id:
          type: string
          description: User UUID
          example: f336d0bc-b841-465b-8045-024475c079dd
        name:
          type: string
          description: Friendly name for this estimation
        task_id:
          type: string
          description: Task identifier
          example: cost_est_owner-repo_12345
        status:
          type: string
          description: Estimation status
          enum:
            - pending
            - running
            - completed
            - partial
            - failed
          example: completed
        repos:
          description: Input repositories
          type: array
          items:
            $ref: '#/components/schemas/RepoInputResponseDto'
        total_credits:
          type: number
          description: Total estimated credits across all repos
          example: 8000
        repo_results:
          description: Per-repo estimation results
          type: array
          items:
            $ref: '#/components/schemas/RepoResultResponseDto'
        error:
          type: string
          description: Error message
        triage_required:
          type: boolean
          description: >-
            Whether human triage is mandatory for a scan of this estimation
            (large app, above the predicted-cost threshold). The customer cannot
            opt out when true.
          example: false
        triage_fee_credits:
          type: number
          description: >-
            Triage fee in credits (a percentage of the scan base credits) added
            when triage is enabled
          example: 1600
        created_at:
          format: date-time
          type: string
          description: Timestamp when estimation was created
          example: '2026-03-10T12:00:00.000Z'
        updated_at:
          format: date-time
          type: string
          description: Timestamp when estimation was last updated
          example: '2026-03-10T12:05:00.000Z'
      required:
        - id
        - organization_id
        - user_id
        - task_id
        - status
        - repos
        - triage_required
        - triage_fee_credits
        - created_at
        - updated_at
    RepoInputResponseDto:
      type: object
      properties:
        source:
          type: string
          description: Source type
          enum:
            - connected
            - public
            - upload
        repo_url:
          type: string
          description: Repository URL
          example: https://github.com/owner/repo
        branch:
          type: string
          description: Branch name
          example: main
        commit_sha:
          type: string
          description: Resolved commit SHA
          example: abc123def456
        archive_id:
          type: string
          description: Archive ID (for upload sources)
    RepoResultResponseDto:
      type: object
      properties:
        repo_url:
          type: string
          description: Repository URL
          example: https://github.com/owner/repo
        branch:
          type: string
          description: Branch name
          example: main
        commit_sha:
          type: string
          description: Commit SHA
          example: abc123def456
        status:
          type: string
          description: Result status
          enum:
            - completed
            - failed
          example: completed
        from_cache:
          type: boolean
          description: Whether result was served from cache
          example: false
        applications:
          description: Detected applications
          type: array
          items:
            $ref: '#/components/schemas/RepoResultApplicationDto'
        credits:
          type: number
          description: Estimated credits for this repo
          example: 4000
        error:
          type: string
          description: Error message (when status is failed)
        failure_reason:
          type: string
          description: Structured failure reason
          enum:
            - unsupported_language
        unsupported_languages:
          description: Detected unsupported languages among the top languages
          type: array
          items:
            type: string
      required:
        - repo_url
        - status
        - from_cache
    RepoResultApplicationDto:
      type: object
      properties:
        app_name:
          type: string
          description: Application name
          example: backend-api
        app_root_path:
          type: string
          description: Application root path
          example: apps/api
        architecture:
          type: string
          description: Architecture description
          example: NestJS REST API with PostgreSQL
      required:
        - app_name
        - app_root_path
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: X-Api-Key

````