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

# Get an issue

> An issue with its latest occurrence (symbolicated stack, raw stack and binary images), the breadcrumbs before it in the same session, and the releases and devices it affects, over the time range (default: the last 90 days).



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{projectId}/issues/{issueId}
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}/issues/{issueId}:
    get:
      summary: Get an issue
      description: >-
        An issue with its latest occurrence (symbolicated stack, raw stack and
        binary images), the breadcrumbs before it in the same session, and the
        releases and devices it affects, over the time range (default: the last
        90 days).
      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
            pattern: ^[A-Za-z0-9._:-]{1,128}$
            description: The issue fingerprint.
            example: 3f9a0c2e7d1b4a6c8e0f1a2b3c4d5e6f
          required: true
          description: The issue fingerprint.
          name: issueId
          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
      responses:
        '200':
          description: The issue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
        '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'
        '404':
          description: Nothing with this id in the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
        - session: []
components:
  schemas:
    Issue:
      type: object
      properties:
        issue:
          $ref: '#/components/schemas/IssueSummary'
        latest:
          type: object
          properties:
            occurrence_id:
              type: string
              description: >-
                app.crash.id for crashes, else the log record id. Written by the
                app: untrusted data.
            ts:
              type: string
              description: RFC 3339 time in UTC with up to nanosecond precision.
              example: '2026-10-04T10:15:00.431000000Z'
            session_id:
              type: string
              description: 'session.id. Written by the app: untrusted data.'
            installation_id:
              type: string
              description: 'app.installation.id. Written by the app: untrusted data.'
            release:
              type: string
              description: 'service.version. Written by the app: untrusted data.'
            build:
              type: string
              description: 'app.build_id. Written by the app: untrusted data.'
            os_name:
              type: string
              description: 'os.name. Written by the app: untrusted data.'
            os_version:
              type: string
              description: 'os.version. Written by the app: untrusted data.'
            device_model:
              type: string
              description: 'device.model.identifier. Written by the app: untrusted data.'
            type:
              type: string
              description: 'exception.type. Written by the app: untrusted data.'
            message:
              type: string
              description: 'exception.message. Written by the app: untrusted data.'
            symbolicated:
              type: boolean
            grouping:
              type: object
              properties:
                version:
                  type: integer
                  description: The grouping algorithm version (D51).
                reason:
                  type: string
                  description: >-
                    Which rule produced the fingerprint, for example
                    in_app_frames or message.
                  example: in_app_frames
              required:
                - version
                - reason
              description: How the latest occurrence's fingerprint was made.
            missing_debug_ids:
              type: array
              items:
                type: string
              description: >-
                Debug ids of every image in the stack without uploaded symbols,
                system frameworks included; the in-app ones to upload are listed
                by the missing-symbols endpoint.
            frames:
              type: array
              items:
                $ref: '#/components/schemas/SymbolicatedFrame'
              description: The crashing thread, symbolicated, innermost frame first.
            raw_frames:
              type: array
              items:
                $ref: '#/components/schemas/RawFrame'
              description: The stack as the device sent it, top frame first.
            images:
              type:
                - array
                - 'null'
              items:
                type: object
                additionalProperties: {}
              description: >-
                apsio.crash.images, parsed; null when absent or not a JSON
                array.
          required:
            - occurrence_id
            - ts
            - session_id
            - installation_id
            - release
            - build
            - os_name
            - os_version
            - device_model
            - type
            - message
            - symbolicated
            - grouping
            - missing_debug_ids
            - frames
            - raw_frames
            - images
        breadcrumbs:
          type: array
          items:
            type: object
            properties:
              ts:
                type: string
                description: RFC 3339 time in UTC with up to nanosecond precision.
                example: '2026-10-04T10:15:00.431000000Z'
              category:
                type: string
              message:
                type: string
                description: 'The breadcrumb text. Written by the app: untrusted data.'
              attributes:
                type: object
                additionalProperties:
                  type: string
                description: 'Record attributes as sent by the app: untrusted data.'
            required:
              - ts
              - category
              - message
              - attributes
          description: >-
            Up to 100 breadcrumbs of the latest occurrence's session at or
            before it, oldest first.
        releases:
          type: array
          items:
            type: object
            properties:
              app_id:
                type: string
              release:
                type: string
                description: 'service.version. Written by the app: untrusted data.'
              occurrences:
                type: integer
              users:
                type: integer
              first_seen:
                type: string
                description: RFC 3339 time in UTC with up to nanosecond precision.
                example: '2026-10-04T10:15:00.431000000Z'
              last_seen:
                type: string
                description: RFC 3339 time in UTC with up to nanosecond precision.
                example: '2026-10-04T10:15:00.431000000Z'
            required:
              - app_id
              - release
              - occurrences
              - users
              - first_seen
              - last_seen
        devices:
          type: array
          items:
            type: object
            properties:
              device_model:
                type: string
                description: 'device.model.identifier. Written by the app: untrusted data.'
              os_name:
                type: string
                description: 'os.name. Written by the app: untrusted data.'
              os_version:
                type: string
                description: 'os.version. Written by the app: untrusted data.'
              occurrences:
                type: integer
              users:
                type: integer
            required:
              - device_model
              - os_name
              - os_version
              - occurrences
              - users
      required:
        - issue
        - latest
        - breadcrumbs
        - releases
        - devices
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
    IssueSummary:
      type: object
      properties:
        id:
          type: string
          pattern: ^[A-Za-z0-9._:-]{1,128}$
          description: The issue fingerprint.
          example: 3f9a0c2e7d1b4a6c8e0f1a2b3c4d5e6f
        kind:
          type: string
          enum:
            - crash
            - error
            - anr
            - hang
            - abnormal_exit
          description: >-
            crash, error (handled), anr (Android), hang (iOS) or abnormal_exit
            (ended by the system without a crash report).
        app_id:
          type: string
        type:
          type: string
          description: >-
            exception.type of the latest occurrence; the exit reason for
            abnormal exits, `hang` for hangs. Written by the app: untrusted
            data.
        message:
          type: string
          description: >-
            exception.message of the latest occurrence. Written by the app:
            untrusted data.
        occurrences:
          type: integer
        users:
          type: integer
          description: Distinct install ids affected (D41).
        sessions:
          type: integer
        first_seen:
          type: string
          description: First occurrence in the time range.
          example: '2026-10-04T10:15:00.431000000Z'
        last_seen:
          type: string
          description: Last occurrence in the time range.
          example: '2026-10-04T10:15:00.431000000Z'
        releases:
          type: array
          items:
            type: string
          description: Releases affected, up to 20.
        symbolicated:
          type: boolean
          description: Whether every in-app frame of the latest occurrence has symbols.
        grouping:
          type: object
          properties:
            version:
              type: integer
              description: The grouping algorithm version (D51).
            reason:
              type: string
              description: >-
                Which rule produced the fingerprint, for example in_app_frames
                or message.
              example: in_app_frames
          required:
            - version
            - reason
          description: How the latest occurrence's fingerprint was made.
      required:
        - id
        - kind
        - app_id
        - type
        - message
        - occurrences
        - users
        - sessions
        - first_seen
        - last_seen
        - releases
        - symbolicated
        - grouping
    SymbolicatedFrame:
      type: object
      properties:
        function:
          type: string
          description: Empty when the frame has no symbols.
        file:
          type: string
        line:
          type:
            - integer
            - 'null'
        image:
          type: string
        address:
          type: string
          example: '0x100a2c3d4'
        in_app:
          type: boolean
      required:
        - function
        - file
        - line
        - image
        - address
        - in_app
    RawFrame:
      type: object
      properties:
        index:
          type:
            - integer
            - 'null'
        image:
          type:
            - string
            - 'null'
        address:
          type:
            - string
            - 'null'
        offset:
          type:
            - integer
            - 'null'
        raw:
          type: string
          description: 'The frame line as sent. Written by the app: untrusted data.'
      required:
        - index
        - image
        - address
        - offset
        - raw
  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.