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

# Query actions by dimension and measure



## OpenAPI

````yaml https://api.select.dev/v2/openapi.json post /actions/actions/query
openapi: 3.1.0
info:
  title: SELECT API (v2)
  version: 0.1.0
servers:
  - url: https://api.select.dev/v2
    description: SELECT API v2
security: []
paths:
  /actions/actions/query:
    post:
      tags:
        - actions
      summary: Query actions by dimension and measure
      operationId: query_actions_route_actions_actions_query_post
      parameters:
        - name: x-tenant-id
          in: header
          required: true
          schema:
            type: string
            description: The organization ID the request is scoped to.
            title: X-Tenant-Id
          description: The organization ID the request is scoped to.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionQuery'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionQueryResults'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '408':
          $ref: '#/components/responses/RequestTimeout'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/ValidationFailed'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      security:
        - HTTPBearer: []
components:
  schemas:
    ActionQuery:
      properties:
        measures:
          items:
            anyOf:
              - $ref: >-
                  #/components/schemas/SemiStructuredMeasure_ActionDimensionName_
              - $ref: '#/components/schemas/ActionMeasureName'
          type: array
          title: Measures
        dimensions:
          items:
            anyOf:
              - $ref: >-
                  #/components/schemas/SemiStructuredDimension_ActionDimensionName_
              - $ref: '#/components/schemas/ActionDimensionName'
          type: array
          title: Dimensions
        filters:
          items:
            anyOf:
              - $ref: >-
                  #/components/schemas/InFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/ArrayContainsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/IsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/LikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/MultiLikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/EqFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/FilterExpression_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/InRelativeDateRangeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
          type: array
          title: Filters
        filter_expression:
          anyOf:
            - $ref: >-
                #/components/schemas/FilterExpression_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
            - type: 'null'
        measure_filters:
          items:
            anyOf:
              - $ref: '#/components/schemas/InFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/ArrayContainsFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/IsFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/LikeFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/MultiLikeFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/EqFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/FilterExpression_ActionMeasureName_'
              - $ref: >-
                  #/components/schemas/InRelativeDateRangeFilter_ActionMeasureName_
          type: array
          title: Measure Filters
        sort:
          items:
            $ref: '#/components/schemas/Sort_ActionMeasureName_ActionDimensionName_'
          type: array
          title: Sort
        limit:
          type: integer
          maximum: 10000
          minimum: 1
          title: Limit
          description: >-
            Maximum rows to return, at most 10000. An aggregation that produces
            more rows than this is silently cut short at the limit, so narrow
            the filters or group by fewer dimensions rather than raising it to
            see everything.
          default: 10000
      additionalProperties: false
      type: object
      title: ActionQuery
      description: >-
        An aggregate query over actions.


        Group with `dimensions`, aggregate with `measures`, narrow rows with
        `filters`

        or `filter_expression`, and narrow aggregates with `measure_filters`. To
        restrict

        results to a team, filter on the `team_id` dimension.
    ActionQueryResults:
      properties:
        items:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Items
        page_token:
          anyOf:
            - type: string
            - type: 'null'
          title: Page Token
          description: Opaque cursor for the next page; empty/absent on the last page.
        row_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Row Count
          description: >-
            Best-effort total for the filtered result set; may be null when
            expensive.
      type: object
      required:
        - items
      title: ActionQueryResults
      description: >-
        Aggregated action rows, each keyed by the requested dimensions and
        measures.
    SemiStructuredMeasure_ActionDimensionName_:
      properties:
        aggregate_function:
          type: string
          const: array_unique_agg
          title: Aggregate Function
        dimension:
          $ref: '#/components/schemas/SemiStructuredDimension_ActionDimensionName_'
      type: object
      required:
        - aggregate_function
        - dimension
      title: SemiStructuredMeasure[ActionDimensionName]
    ActionMeasureName:
      type: string
      enum:
        - count
        - sum_savings_amount
        - avg_savings_amount
        - sum_current_annualized_savings
        - sum_current_daily_savings
      title: ActionMeasureName
    SemiStructuredDimension_ActionDimensionName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionDimensionName'
        path:
          items:
            type: string
          type: array
          title: Path
      type: object
      required:
        - field
        - path
      title: SemiStructuredDimension[ActionDimensionName]
    ActionDimensionName:
      type: string
      enum:
        - id
        - srn
        - title
        - comment
        - user_email
        - actioned_at
        - end_date
        - savings_amount
        - savings_rate_percent
        - current_daily_savings
        - current_annualized_savings
        - current_realized_savings
        - savings_type
        - savings_status
        - select_feature
        - created_at
        - updated_at
        - created_by
        - updated_by
        - insight_id
        - insight_type
        - team_id
        - resource_metadata
        - srn_resource_type
        - connection_type
        - platform_organization
        - platform_instance
        - platform_instance_name
        - snowflake_account_name
        - snowflake_org_name
        - databricks_account_id
        - databricks_workspace_id
      title: ActionDimensionName
    InFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            anyOf:
              - type: integer
              - type: number
              - type: boolean
              - type: string
              - type: string
                format: date
              - additionalProperties:
                  anyOf:
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: string
                    - type: string
                      format: date
                    - items:
                        anyOf:
                          - type: integer
                          - type: number
                          - type: boolean
                          - type: string
                          - type: string
                            format: date
                          - type: 'null'
                      type: array
                    - type: 'null'
                type: object
              - type: 'null'
          type: array
          title: Values
        operator:
          type: string
          enum:
            - in
            - not in
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: >-
        InFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    ArrayContainsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            anyOf:
              - type: integer
              - type: number
              - type: boolean
              - type: string
              - type: string
                format: date
              - additionalProperties:
                  anyOf:
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: string
                    - type: string
                      format: date
                    - items:
                        anyOf:
                          - type: integer
                          - type: number
                          - type: boolean
                          - type: string
                          - type: string
                            format: date
                          - type: 'null'
                      type: array
                    - type: 'null'
                type: object
              - type: 'null'
          type: array
          title: Values
        operator:
          type: string
          const: array_contains
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: >-
        ArrayContainsFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    IsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: 'null'
          title: Value
        operator:
          type: string
          enum:
            - is
            - is not
          title: Operator
      type: object
      required:
        - field
        - operator
      title: >-
        IsFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    LikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: string
          title: Value
        operator:
          type: string
          enum:
            - ilike
            - startswith
            - array_contains_prefix
            - array_contains_substring
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: >-
        LikeFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    MultiLikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            type: string
          type: array
          title: Values
        operator:
          type: string
          enum:
            - ilike
            - startswith
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: >-
        MultiLikeFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    EqFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        value:
          anyOf:
            - type: integer
            - type: number
            - type: boolean
            - type: string
            - type: string
              format: date
            - additionalProperties:
                anyOf:
                  - type: integer
                  - type: number
                  - type: boolean
                  - type: string
                  - type: string
                    format: date
                  - items:
                      anyOf:
                        - type: integer
                        - type: number
                        - type: boolean
                        - type: string
                        - type: string
                          format: date
                        - type: 'null'
                    type: array
                  - type: 'null'
              type: object
            - type: 'null'
          title: Value
        operator:
          type: string
          enum:
            - '>'
            - '>='
            - <
            - <=
            - '='
            - '!='
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: >-
        EqFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    FilterExpression_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        operator:
          type: string
          enum:
            - and
            - or
          title: Operator
        filters:
          items:
            anyOf:
              - $ref: >-
                  #/components/schemas/FilterExpression_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/EqFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/InFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/ArrayContainsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/IsFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/LikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/MultiLikeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
              - $ref: >-
                  #/components/schemas/InRelativeDateRangeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__
          type: array
          title: Filters
        component_type:
          anyOf:
            - type: string
              const: Resource Filter
            - type: 'null'
          title: Component Type
      type: object
      required:
        - operator
        - filters
      title: >-
        FilterExpression[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    InRelativeDateRangeFilter_Union_SemiStructuredDimension_ActionDimensionName___ActionDimensionName__:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
          title: Field
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: string
          title: Value
        operator:
          type: string
          enum:
            - in range
            - not in range
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: >-
        InRelativeDateRangeFilter[Union[SemiStructuredDimension[ActionDimensionName],
        ActionDimensionName]]
    InFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            anyOf:
              - type: integer
              - type: number
              - type: boolean
              - type: string
              - type: string
                format: date
              - additionalProperties:
                  anyOf:
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: string
                    - type: string
                      format: date
                    - items:
                        anyOf:
                          - type: integer
                          - type: number
                          - type: boolean
                          - type: string
                          - type: string
                            format: date
                          - type: 'null'
                      type: array
                    - type: 'null'
                type: object
              - type: 'null'
          type: array
          title: Values
        operator:
          type: string
          enum:
            - in
            - not in
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: InFilter[ActionMeasureName]
    ArrayContainsFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            anyOf:
              - type: integer
              - type: number
              - type: boolean
              - type: string
              - type: string
                format: date
              - additionalProperties:
                  anyOf:
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: string
                    - type: string
                      format: date
                    - items:
                        anyOf:
                          - type: integer
                          - type: number
                          - type: boolean
                          - type: string
                          - type: string
                            format: date
                          - type: 'null'
                      type: array
                    - type: 'null'
                type: object
              - type: 'null'
          type: array
          title: Values
        operator:
          type: string
          const: array_contains
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: ArrayContainsFilter[ActionMeasureName]
    IsFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: 'null'
          title: Value
        operator:
          type: string
          enum:
            - is
            - is not
          title: Operator
      type: object
      required:
        - field
        - operator
      title: IsFilter[ActionMeasureName]
    LikeFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: string
          title: Value
        operator:
          type: string
          enum:
            - ilike
            - startswith
            - array_contains_prefix
            - array_contains_substring
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: LikeFilter[ActionMeasureName]
    MultiLikeFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        values:
          items:
            type: string
          type: array
          title: Values
        operator:
          type: string
          enum:
            - ilike
            - startswith
          title: Operator
      type: object
      required:
        - field
        - values
        - operator
      title: MultiLikeFilter[ActionMeasureName]
    EqFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        value:
          anyOf:
            - type: integer
            - type: number
            - type: boolean
            - type: string
            - type: string
              format: date
            - additionalProperties:
                anyOf:
                  - type: integer
                  - type: number
                  - type: boolean
                  - type: string
                  - type: string
                    format: date
                  - items:
                      anyOf:
                        - type: integer
                        - type: number
                        - type: boolean
                        - type: string
                        - type: string
                          format: date
                        - type: 'null'
                    type: array
                  - type: 'null'
              type: object
            - type: 'null'
          title: Value
        operator:
          type: string
          enum:
            - '>'
            - '>='
            - <
            - <=
            - '='
            - '!='
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: EqFilter[ActionMeasureName]
    FilterExpression_ActionMeasureName_:
      properties:
        operator:
          type: string
          enum:
            - and
            - or
          title: Operator
        filters:
          items:
            anyOf:
              - $ref: '#/components/schemas/FilterExpression_ActionMeasureName_'
              - $ref: '#/components/schemas/EqFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/InFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/ArrayContainsFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/IsFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/LikeFilter_ActionMeasureName_'
              - $ref: '#/components/schemas/MultiLikeFilter_ActionMeasureName_'
              - $ref: >-
                  #/components/schemas/InRelativeDateRangeFilter_ActionMeasureName_
          type: array
          title: Filters
        component_type:
          anyOf:
            - type: string
              const: Resource Filter
            - type: 'null'
          title: Component Type
      type: object
      required:
        - operator
        - filters
      title: FilterExpression[ActionMeasureName]
    InRelativeDateRangeFilter_ActionMeasureName_:
      properties:
        field:
          $ref: '#/components/schemas/ActionMeasureName'
        not:
          type: boolean
          title: Not
          default: false
        value:
          type: string
          title: Value
        operator:
          type: string
          enum:
            - in range
            - not in range
          title: Operator
      type: object
      required:
        - field
        - value
        - operator
      title: InRelativeDateRangeFilter[ActionMeasureName]
    Sort_ActionMeasureName_ActionDimensionName_:
      properties:
        field:
          anyOf:
            - $ref: >-
                #/components/schemas/SemiStructuredDimension_ActionDimensionName_
            - $ref: '#/components/schemas/ActionDimensionName'
            - $ref: '#/components/schemas/SemiStructuredMeasure_ActionDimensionName_'
            - $ref: '#/components/schemas/ActionMeasureName'
          title: Field
        direction:
          type: string
          enum:
            - asc
            - desc
          title: Direction
      type: object
      required:
        - field
        - direction
      title: Sort[ActionMeasureName, ActionDimensionName]
    ProblemDetail:
      additionalProperties: true
      description: >-
        RFC 9457-style error payload, served as ``application/problem+json``.


        ``code`` is the stable, machine-readable identifier — consumers branch
        on it,

        never on ``title``. ``type`` stays ``about:blank``: we keep no per-error

        documentation pages. There is no ``instance``/request-id member (we
        don't run

        access logs). See the flat error-code catalogue in §4 of the standards
        doc.
      properties:
        type:
          default: about:blank
          title: Type
          type: string
        title:
          type: string
          title: Title
        status:
          title: Status
          type: integer
        detail:
          title: Detail
          type: string
        code:
          title: Code
          type: string
        retryable:
          title: Retryable
          type: boolean
        details:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          default: null
          title: Details
      required:
        - title
        - status
        - detail
        - code
        - retryable
      title: ProblemDetail
      type: object
  responses:
    BadRequest:
      description: Bad request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
      headers:
        WWW-Authenticate:
          description: Authentication challenge for the requested resource.
          required: true
          schema:
            type: string
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    NotFound:
      description: Not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    MethodNotAllowed:
      description: Method not allowed
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
      headers:
        Allow:
          description: HTTP methods supported by the requested resource.
          required: true
          schema:
            type: string
    RequestTimeout:
      description: Request Timeout
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    Conflict:
      description: Conflict
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    ValidationFailed:
      description: Validation failed
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    RateLimited:
      description: Rate limited
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          required: true
          schema:
            type: integer
            minimum: 0
    InternalError:
      description: Internal error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
    ServiceUnavailable:
      description: Service unavailable
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          required: true
          schema:
            type: integer
            minimum: 0
  securitySchemes:
    HTTPBearer:
      type: http
      description: Organization API key (sl_…).
      scheme: bearer

````