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

# MetricKit histograms

> MetricKit's daily histograms of one iOS app (spec 7; D14, D49), for example time_to_first_draw: the points of each release added up bucket by bucket. MetricKit reports every user's day, not a sample, and its points carry no session. Points with other bucket bounds than the release's most common ones are not added (`excluded_points`); percentiles are estimated within buckets. Default range: the last 7 days, at most 30.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{projectId}/metrics/metrickit
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}/metrics/metrickit:
    get:
      summary: MetricKit histograms
      description: >-
        MetricKit's daily histograms of one iOS app (spec 7; D14, D49), for
        example time_to_first_draw: the points of each release added up bucket
        by bucket. MetricKit reports every user's day, not a sample, and its
        points carry no session. Points with other bucket bounds than the
        release's most common ones are not added (`excluded_points`);
        percentiles are estimated within buckets. Default range: the last 7
        days, at most 30.
      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
        - schema:
            type: string
            format: date-time
            description: >-
              Start of the time range, inclusive (RFC 3339). Defaults to the
              range end minus the default length.
            example: '2026-10-01T00:00:00Z'
          required: false
          description: >-
            Start of the time range, inclusive (RFC 3339). Defaults to the range
            end minus the default length.
          name: from
          in: query
        - schema:
            type: string
            format: date-time
            description: End of the time range, exclusive (RFC 3339). Defaults to now.
            example: '2026-10-08T00:00:00Z'
          required: false
          description: End of the time range, exclusive (RFC 3339). Defaults to now.
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            description: The app.
          required: true
          description: The app.
          name: app_id
          in: query
        - schema:
            type: string
            pattern: ^[a-z0-9_]{1,64}$
            default: time_to_first_draw
            description: The metric name after `apsio.metrickit.`.
          required: false
          description: The metric name after `apsio.metrickit.`.
          name: metric
          in: query
        - schema:
            type: string
            enum:
              - release
              - none
            default: release
          required: false
          name: by
          in: query
      responses:
        '200':
          description: The merged histograms.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricKitHistograms'
        '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'
      security:
        - bearer: []
        - session: []
components:
  schemas:
    MetricKitHistograms:
      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'
        metric:
          type: string
        unit:
          type: string
        available:
          type: array
          items:
            type: string
          description: Histogram metrics the app reported in the range.
        groups:
          type: array
          items:
            type: object
            properties:
              release:
                type: string
                description: >-
                  service.version, or empty when `by` is `none`. Written by the
                  app: untrusted data.
              points:
                type: integer
              excluded_points:
                type: integer
              multiple_versions:
                type: boolean
                description: >-
                  Some points covered more than one app version and count under
                  the latest (spec 7.4).
              count:
                type: number
              bounds:
                type: array
                items:
                  type: number
              counts:
                type: array
                items:
                  type: number
              p50:
                type:
                  - number
                  - 'null'
              p90:
                type:
                  - number
                  - 'null'
              p95:
                type:
                  - number
                  - 'null'
            required:
              - release
              - points
              - excluded_points
              - multiple_versions
              - count
              - bounds
              - counts
              - p50
              - p90
              - p95
      required:
        - from
        - to
        - metric
        - unit
        - available
        - groups
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
  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.