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

# Get cost report resources sorted by cost (pay-as-you-go only)

> Get a detailed cost report for a given period and specific resources, sorted by cost by default.
Requested period should not exceed 31 days. Costs and usages are always returned at full precision.

Note: This report assumes there are no active commit features in the billing plan.
If there are active commit features (pre-paid resources) in your plan, use /v1/`reservation_cost_report`/totals,
as the results from this report will not be accurate.

Data from the past hour may not reflect the full set of statistics.
For the most complete and accurate results, we recommend accessing the data at least one hour after the
relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.



## OpenAPI

````yaml /api-reference/services_docs_mintlify_enriched/cloud_api.yaml post /cloud/v2/cost_report/resources
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: a7867aecc91c
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
  - name: Container as a Service
  - name: Cost Reports
  - name: DDoS Protection
  - name: Everywhere Inference
  - name: Everywhere Inference Apps
  - name: File Shares
  - name: Floating IPs
  - name: Function as a Service
  - name: GPU Bare Metal
  - name: GPU Virtual
  - name: IP Ranges
  - name: Images
  - name: Instances
  - name: Load Balancers
  - name: Logging
  - name: Managed Kubernetes
  - name: Managed PostgreSQL
  - name: Networks
  - name: Placement Groups
  - name: Ports
  - name: Pricing
  - name: Projects
  - name: Quotas
  - name: Regions
  - name: Registry
  - name: Reservations
  - name: Reserved IPs
  - name: Routers
  - name: SSH Keys
  - name: Secrets
  - name: Security Groups
  - name: Snapshot Schedules
  - name: Snapshots
  - name: Tasks
  - name: User Actions
  - name: User Role Assignments
  - name: Volumes
paths:
  /cloud/v2/cost_report/resources:
    post:
      tags:
        - Cost Reports
      summary: Get cost report resources sorted by cost (pay-as-you-go only)
      description: >-
        Get a detailed cost report for a given period and specific resources,
        sorted by cost by default.

        Requested period should not exceed 31 days. Costs and usages are always
        returned at full precision.


        Note: This report assumes there are no active commit features in the
        billing plan.

        If there are active commit features (pre-paid resources) in your plan,
        use /v1/`reservation_cost_report`/totals,

        as the results from this report will not be accurate.


        Data from the past hour may not reflect the full set of statistics.

        For the most complete and accurate results, we recommend accessing the
        data at least one hour after the

        relevant time period. Updates are generally available within a 24-hour
        window, though timing can vary.

        Scheduled maintenance or other exceptions may occasionally cause delays
        beyond 24 hours.
      operationId: CostReportResourcesV2Handler.post
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostReportResourcesV2RequestSerializer'
      responses:
        '200':
          description: Cost report resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostReportResourcesV2ResponseSerializer'
components:
  schemas:
    CostReportResourcesV2RequestSerializer:
      additionalProperties: false
      properties:
        enable_last_day:
          default: false
          description: >-
            Expenses for the last specified day are taken into account. As the
            default, False.
          example: false
          examples:
            - false
          title: Enable Last Day
          type: boolean
        limit:
          default: 10
          description: >-
            The response resources limit. Defaults to 10. Maximum 1000 for the
            json format, 10000 for the `csv_records` format.
          example: 10
          examples:
            - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
        offset:
          default: 0
          description: The response resources offset.
          example: 0
          examples:
            - 0
          minimum: 0
          title: Offset
          type: integer
        order_by:
          default:
            - cost.desc
          description: List of sorting criteria in 'field.direction' format.
          example:
            - cost.desc
          examples:
            - - cost.desc
          items:
            $ref: '#/components/schemas/CostReportV2OrderByChoices'
          title: Order By
          type: array
        project_ids:
          description: >-
            List of project IDs. Omit for all accessible projects; an empty list
            is rejected.
          example:
            - 16
            - 17
            - 18
            - 19
            - 20
          examples:
            - - 16
              - 17
              - 18
              - 19
              - 20
          items:
            type: integer
          minItems: 1
          title: Project Ids
          type: array
        region_ids:
          description: >-
            List of region IDs. Omit for all regions and global usage; an empty
            list is rejected. Use 0 for global usage that has no region.
          example:
            - 0
            - 76
          examples:
            - - 0
              - 76
          items:
            type: integer
          minItems: 1
          title: Region Ids
          type: array
        response_format:
          $ref: '#/components/schemas/CostReportResourcesResponseFormat'
          default: json
          description: 'Format of the response: json (default) or `csv_records`.'
          examples:
            - csv_records
            - json
        search:
          description: >-
            Partial, case-insensitive search over region names, project names,
            resource names, flavors and tags.
          example: amsterdam
          examples:
            - amsterdam
            - web-01
          maxLength: 256
          minLength: 2
          title: Search
          type: string
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
            - condition_type: OR
              conditions:
                - key: os_version
                  strict: true
                  value: '22.04'
                - key: os_version
                  strict: true
                  value: '23.04'
        time_from:
          description: >-
            The start date of the report period (ISO 8601). The report starts
            from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
            - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: >-
            The end date of the report period (ISO 8601). The report ends just
            before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
            - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: >-
            List of resource types. Omit for all types; an empty list is
            rejected.
          example:
            - egress_traffic
            - instance
          examples:
            - - egress_traffic
              - instance
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          minItems: 1
          title: Types
          type: array
      required:
        - time_from
        - time_to
      title: CostReportResourcesV2RequestSerializer
      type: object
    CostReportResourcesV2ResponseSerializer:
      properties:
        count:
          description: Count of all the resources
          example: 45
          examples:
            - 45
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: >-
            'show' when the client may see prices, 'hide' for trial clients,
            clients with no product status, and clients of a reseller that does
            not expose prices.
        results:
          items:
            $ref: '#/components/schemas/CostReportResourcesV2ResultSerializer'
          title: Results
          type: array
      required:
        - count
        - results
        - price_status
      title: CostReportResourcesV2ResponseSerializer
      type: object
    CostReportV2OrderByChoices:
      description: >-
        v1's sort fields plus cost, renamed to say which field is actually
        sorted on.


        There is no region sort: prebilling can only order by region name, and
        the response exposes

        `region_id`, so no token here could honestly describe it.


        Tokens are flat, not response paths: flavor -> resource.flavor,
        `resource_name` -> resource.name,

        usage -> usage.value, cost -> usage.cost, `first_seen`/`last_seen` ->
        usage.`first_seen`/usage.`last_seen`.
      enum:
        - cost.asc
        - cost.desc
        - first_seen.asc
        - first_seen.desc
        - flavor.asc
        - flavor.desc
        - last_seen.asc
        - last_seen.desc
        - project_id.asc
        - project_id.desc
        - resource_name.asc
        - resource_name.desc
        - usage.asc
        - usage.desc
      title: CostReportV2OrderByChoices
      type: string
    CostReportResourcesResponseFormat:
      enum:
        - csv_records
        - json
      title: CostReportResourcesResponseFormat
      type: string
    TagsFilterSerializer:
      description: Represents a filter consisting of multiple tag filtering conditions.
      properties:
        condition_type:
          $ref: '#/components/schemas/TagsFilterConditionTypes'
          default: OR
          description: >-
            Specifies whether conditions are combined using OR (default) or AND
            logic.
        conditions:
          description: A list of tag filtering conditions defining how tags should match.
          example:
            - key: os_version
              strict: true
              value: '9'
            - key: os_type
              strict: true
              value: linux
            - key: os_distro
              strict: true
              value: centos
          examples:
            - - key: os_version
                strict: true
                value: '9'
              - key: os_type
                strict: true
                value: linux
              - key: os_distro
                strict: true
                value: centos
          items:
            $ref: '#/components/schemas/TagsFilterConditionSerializer'
          maxItems: 10
          minItems: 1
          title: Conditions
          type: array
      required:
        - conditions
      title: TagsFilterSerializer
      type: object
    PrebillingResourceTypes:
      description: Resource types for prebilling report
      enum:
        - ai_cluster
        - ai_virtual_cluster
        - backup
        - baremetal
        - basic_vm
        - containers
        - dbaas_postgresql_connection_pooler
        - dbaas_postgresql_cpu
        - dbaas_postgresql_memory
        - dbaas_postgresql_public_network
        - dbaas_postgresql_volume
        - egress_traffic
        - external_ip
        - file_share
        - floatingip
        - functions
        - functions_calls
        - functions_traffic
        - image
        - inference
        - inference_public_models
        - instance
        - load_balancer
        - log_index
        - snapshot
        - volume
      title: PrebillingResourceTypes
      type: string
    CostReportPriceDisplayStatus:
      enum:
        - error
        - hide
        - show
      title: CostReportPriceDisplayStatus
      type: string
    CostReportResourcesV2ResultSerializer:
      properties:
        error:
          anyOf:
            - $ref: '#/components/schemas/CostReportCostError'
            - type: 'null'
          description: Why the cost is missing, set only when cost is null
          examples:
            - null
        project_id:
          description: ID of the project the resource belongs to
          example: 101
          examples:
            - 101
          title: Project Id
          type: integer
        region_id:
          description: Region ID. 0 means global usage that has no region.
          example: 76
          examples:
            - 76
          title: Region Id
          type: integer
        resource:
          $ref: '#/components/schemas/CostReportResourceV2Serializer'
        usage:
          $ref: '#/components/schemas/CostReportUsageV2Serializer'
      required:
        - region_id
        - project_id
        - resource
        - usage
        - error
      title: CostReportResourcesV2ResultSerializer
      type: object
    TagsFilterConditionTypes:
      enum:
        - AND
        - OR
      title: TagsFilterConditionTypes
      type: string
    TagsFilterConditionSerializer:
      additionalProperties: false
      properties:
        key:
          description: The name of the tag to filter (e.g., 'os_version').
          example: os_version
          examples:
            - os_version
          maxLength: 128
          minLength: 3
          title: Key
          type: string
        strict:
          description: >-
            Determines how strictly the tag value must match the specified
            value. If true, the tag value must exactly match the given value. If
            false, a less strict match (e.g., partial or case-insensitive match)
            may be applied.
          example: true
          examples:
            - true
          title: Strict
          type: boolean
        value:
          description: The value of the tag to filter (e.g., '22.04').
          example: '22.04'
          examples:
            - '22.04'
          maxLength: 256
          minLength: 3
          title: Value
          type: string
      title: TagsFilterConditionSerializer
      type: object
    CostReportCostError:
      description: >-
        Why a row has no cost. Values are the plain strings v1 has always
        returned.
      enum:
        - Multiple subscriptions
        - No tariff
      title: CostReportCostError
      type: string
    CostReportResourceV2Serializer:
      description: What the resource is.
      properties:
        flavor:
          anyOf:
            - type: string
            - type: 'null'
          description: Flavor name
          examples:
            - bm2-infrastructure-medium
          title: Flavor
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: Name of the resource
          examples:
            - bm-amsterdam-1fe6
          title: Name
        tags:
          anyOf:
            - items:
                additionalProperties:
                  type: string
                type: object
              type: array
            - type: 'null'
          description: List of tags
          examples:
            - - os_distro: ubuntu
              - os_version: '22.04'
          title: Tags
        type:
          $ref: '#/components/schemas/PrebillingResourceTypes'
          description: Resource type
          examples:
            - baremetal
        uuid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          description: UUID of the resource
          examples:
            - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          title: Uuid
      required:
        - type
        - uuid
        - name
        - flavor
        - tags
      title: CostReportResourceV2Serializer
      type: object
    CostReportUsageV2Serializer:
      description: How much it was used, and what that costs.
      properties:
        cost:
          anyOf:
            - type: number
            - type: 'null'
          description: >-
            Cost for the requested period, never rounded. Null if there is no
            price.
          examples:
            - 163.190753
          title: Cost
        currency:
          anyOf:
            - type: string
            - type: 'null'
          description: Currency of the cost, null if there is no cost
          examples:
            - EUR
          title: Currency
        first_seen:
          description: First time the resource was seen in the given period
          example: '2026-07-17T00:00:30Z'
          examples:
            - '2026-07-17T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_seen:
          description: >-
            Last time the resource was seen in the given period. Earlier than
            'time_to' means the resource stopped before the period ended.
          example: '2026-07-23T23:59:30Z'
          examples:
            - '2026-07-23T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        unit:
          description: Unit of the billing value
          example: gb_hours
          examples:
            - gb_hours
          title: Unit
          type: string
        value:
          description: >-
            Usage of the billing metric for the period, in `unit`, kept at full
            precision.
          example: 6688
          examples:
            - 6688
          title: Value
          type: number
      required:
        - value
        - unit
        - first_seen
        - last_seen
        - cost
        - currency
      title: CostReportUsageV2Serializer
      type: object
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234_abcdef`
      type: apiKey
      in: header
      name: Authorization

````