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

# Break the log records down by level, release, OS, logger and screen

> For the same query as the search: the records per level, and the 6 most frequent releases (service.version), OS versions (os.name and the major os.version), loggers (the scope name, spec 13.6) and screens (app.screen.name), each counted without its own filter, so another of its values can be chosen. A dimension no record carries is an empty list. One run of the project's Explore limit.



## OpenAPI

````yaml /api-reference/openapi.json post /projects/{projectId}/explore/logs/facets
openapi: 3.1.0
info:
  title: Apsio API
  version: 0.1.0
  description: >-
    Read API v0: your projects, release health and comparisons, missing symbols,
    issues, sessions, vitals, cohort comparisons, performance (app start,
    screens, hangs, MetricKit) and network endpoints and traces for one project.
    Authenticate with a project token as a bearer token, with an OAuth access
    token from Apsio's authorization server (MCP clients), or, from the console,
    with the session cookie of a member of the project's organization.
servers:
  - url: https://api.apsio.io/v1
security: []
paths:
  /projects/{projectId}/explore/logs/facets:
    post:
      summary: Break the log records down by level, release, OS, logger and screen
      description: >-
        For the same query as the search: the records per level, and the 6 most
        frequent releases (service.version), OS versions (os.name and the major
        os.version), loggers (the scope name, spec 13.6) and screens
        (app.screen.name), each counted without its own filter, so another of
        its values can be chosen. A dimension no record carries is an empty
        list. One run of the project's Explore limit.
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            example: 0192f3a4-0000-7000-8000-00000000a101
          required: true
          name: projectId
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExploreLogFacetsQuery'
      responses:
        '200':
          description: The facets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExploreLogFacets'
        '400':
          description: The request is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: No valid bearer token or console session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The credentials cannot read this project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            Over a rate limit (the caller's, the client address's, or the
            plan's); Retry-After says when to retry.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
        - session: []
components:
  schemas:
    ExploreLogFacetsQuery:
      type: object
      properties:
        from:
          type: string
          format: date-time
          description: Start, inclusive (RFC 3339). Defaults to 24 hours before `to`.
        to:
          type: string
          format: date-time
          description: End, exclusive (RFC 3339). Defaults to now.
        app_id:
          type: string
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          description: Only this app of the project.
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ExploreFilter'
          maxItems: 20
          default: []
        severity:
          type: string
          enum:
            - trace
            - debug
            - info
            - warn
            - error
            - fatal
          description: At least this severity (OpenTelemetry severity number ranges).
        body:
          type: string
          minLength: 1
          maxLength: 200
          description: >-
            Records whose body contains this text, ignoring case. Plain text,
            not a pattern.
    ExploreLogFacets:
      type: object
      properties:
        from:
          type: string
          description: RFC 3339 time in UTC with up to nanosecond precision.
          example: '2026-10-04T10:15:00.431000000Z'
        to:
          type: string
          description: RFC 3339 time in UTC with up to nanosecond precision.
          example: '2026-10-04T10:15:00.431000000Z'
        level:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
                description: 'A value. Written by the app: untrusted data.'
              count:
                type: integer
            required:
              - value
              - count
        release:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
                description: 'A value. Written by the app: untrusted data.'
              count:
                type: integer
            required:
              - value
              - count
        os:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
                description: 'A value. Written by the app: untrusted data.'
              count:
                type: integer
            required:
              - value
              - count
        logger:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
                description: 'A value. Written by the app: untrusted data.'
              count:
                type: integer
            required:
              - value
              - count
        screen:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
                description: 'A value. Written by the app: untrusted data.'
              count:
                type: integer
            required:
              - value
              - count
      required:
        - from
        - to
        - level
        - release
        - os
        - logger
        - screen
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
    ExploreFilter:
      type: object
      properties:
        field:
          type: string
          pattern: ^[A-Za-z0-9_.:/-]{1,128}$
          description: >-
            A field (event.name or span.name, service.version, os.name,
            os.version, device.model.identifier, session.id, trace_id, ...), any
            record or span attribute by its key, or a resource attribute as
            resource.<key>.
          example: service.version
        op:
          type: string
          enum:
            - eq
            - neq
            - prefix
            - exists
            - not_exists
          default: eq
          description: >-
            eq and neq compare with value, prefix matches values that start with
            it; exists and not_exists need none.
        value:
          type: string
          maxLength: 256
      required:
        - field
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A project token (apsio_pt_v0...), which reads exactly one project, or an
        OAuth access token issued for the API, which reads what its user can.
        Access tokens issued for Apsio's MCP server are accepted only from the
        MCP server itself.
    session:
      type: apiKey
      in: cookie
      name: apsio_session
      description: >-
        The console session, set by /v1/auth/callback (`__Host-apsio_session`
        when host-only).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.