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

# A layer against its holdback

> The sessions that started in the last `days` (7 by default) on devices that applied the layer, against those held back from it (spec 12.4: apsio.policy.layers / holdback): sessions, crash-free sessions and ingest per session, what the layer's guardrails watch. A session in both groups, when the layer changed under it, is left out. Null when the layer has no holdback or neither group has a session. Members.



## OpenAPI

````yaml /api-reference/openapi.json get /orgs/{orgId}/projects/{projectId}/apps/{appId}/layers/{layerId}/comparison
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:
  /orgs/{orgId}/projects/{projectId}/apps/{appId}/layers/{layerId}/comparison:
    get:
      summary: A layer against its holdback
      description: >-
        The sessions that started in the last `days` (7 by default) on devices
        that applied the layer, against those held back from it (spec 12.4:
        apsio.policy.layers / holdback): sessions, crash-free sessions and
        ingest per session, what the layer's guardrails watch. A session in both
        groups, when the layer changed under it, is left out. Null when the
        layer has no holdback or neither group has a session. Members.
      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-00000000a001
          required: true
          name: orgId
          in: path
        - 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-00000000a001
          required: true
          name: projectId
          in: path
        - 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-00000000a001
          required: true
          name: appId
          in: path
        - 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-00000000a001
          required: true
          name: layerId
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 30
            default: 7
          required: false
          name: days
          in: query
      responses:
        '200':
          description: The comparison
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayerComparison'
      security:
        - session: []
components:
  schemas:
    LayerComparison:
      type:
        - object
        - 'null'
      properties:
        applied:
          $ref: '#/components/schemas/LayerGroup'
        holdback:
          $ref: '#/components/schemas/LayerGroup'
        since:
          type: string
          description: 'The start of the window: sessions that started since.'
      required:
        - applied
        - holdback
        - since
      description: >-
        Null when the layer has no holdback, or neither group has a session in
        the window.
    LayerGroup:
      type: object
      properties:
        sessions:
          type: integer
        crash_free_sessions:
          type: number
          description: >-
            Sessions that did not crash, from 0 to 1, as release health counts
            them.
        ingest_bytes_per_session:
          type: number
          description: The bytes each session sent, on average (records and attachments).
      required:
        - sessions
        - crash_free_sessions
        - ingest_bytes_per_session
  securitySchemes:
    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.