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

# List notifications

> Lists your notifications in one organization, newest first, 50 per page by default (at most 100), filtered by realm, event type, severity, team, run, phase, text or time.

Requires membership in the organization given by `org_id`.



## OpenAPI

````yaml /openapi/hub-by-tag/hub-notifications.yaml post /v1/notifications/get
openapi: 3.0.3
info:
  title: 'CliqHub API: Notifications'
  version: 1.0.0
  description: >-
    Your in-app inbox in CliqHub, the notifications delivered to you through the
    CliqHub inbox destination of a channel.
servers:
  - url: https://{host}
    variables:
      host:
        default: cliqhub.io
        description: CliqHub host
security: []
tags:
  - name: Notifications
    description: >-
      Your in-app inbox in CliqHub, the notifications delivered to you through
      the CliqHub inbox destination of a channel.
paths:
  /v1/notifications/get:
    post:
      tags:
        - Notifications
      summary: List notifications
      description: >-
        Lists your notifications in one organization, newest first, 50 per page
        by default (at most 100), filtered by realm, event type, severity, team,
        run, phase, text or time.


        Requires membership in the organization given by `org_id`.
      operationId: POST_v1_notifications_get
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                org_id:
                  type: string
                  format: uuid
                  description: >-
                    Organization that bounds the inbox. Required — never invent
                    from X-Org-Id.
                realm_id:
                  type: string
                  description: Legacy single-realm filter (intersected with membership)
                realms:
                  type: array
                  items:
                    type: string
                  description: Multi-select realm filter (ids); intersected with membership
                types:
                  type: array
                  items:
                    type: string
                  description: Filter by event type strings
                severities:
                  type: array
                  items:
                    type: string
                  description: Filter by severity values
                teams:
                  type: array
                  items:
                    type: string
                  description: Filter by team slug
                run_id:
                  type: string
                  description: Filter to a single run id
                phases:
                  type: array
                  items:
                    type: string
                  description: Filter by phase name
                q:
                  type: string
                  description: Substring search across title, message, event, team, run_id
                since_ms:
                  type: number
                  description: Inclusive lower bound on created_at (unix ms)
                until_ms:
                  type: number
                  description: Inclusive upper bound on created_at (unix ms)
                initiated_by_me:
                  type: boolean
                  description: When true, only events for runs the caller started
                limit:
                  type: integer
                  minimum: 1
                  description: Page size (default 50, max 100)
                offset:
                  type: integer
                  description: Page offset (default 0)
              required:
                - org_id
            examples:
              default:
                value:
                  org_id: 2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f
                  severities:
                    - error
                  limit: 20
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                    description: Always `true` on success.
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/NotificationData'
                      total:
                        type: integer
                      offset:
                        type: integer
                      limit:
                        type: integer
              example:
                ok: true
                data:
                  items:
                    - id: 6f7a8b9c-0d1e-4f2a-8b3c-4d5e6f7a8b9c
                      event: run.failed
                      title: Run failed
                      message: 'phase fix: tests failed'
                      realm_id: 5b0c3a7e-2f4d-4b8e-9a51-7c1d2e3f4a5b
                      realm_slug: production
                      user_id: 1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d
                      team: code-review
                      run_id: 0c8d7e6f-5a4b-4c3d-9e2f-1a0b9c8d7e6f
                      phase: fix
                      severity: error
                      payload: {}
                      created_at: 1759834700000
                  total: 1
                  offset: 0
                  limit: 20
                  type: array
        '401':
          description: >-
            `unauthorized`: No `Authorization` header, or the token is
            malformed, expired or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubErr'
              examples:
                unauthorized:
                  summary: unauthorized
                  value:
                    ok: false
                    error:
                      code: unauthorized
                      message: Authentication required
        '403':
          description: '`forbidden`: A daemon token was used; this route needs a user token.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubErr'
              examples:
                forbidden:
                  summary: forbidden
                  value:
                    ok: false
                    error:
                      code: forbidden
                      message: You do not have access to do this
        '404':
          description: >-
            `not_found`: The organization does not exist or you are not a
            member. CliqHub answers 404, not 403, so it does not reveal which.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubErr'
              examples:
                not_found:
                  summary: not_found
                  value:
                    ok: false
                    error:
                      code: not_found
                      message: Not found
        '422':
          description: >-
            `invalid_params`: The body fails the request schema: a required
            field is missing or a value has the wrong type or format. The
            message lists every issue as `field: problem`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubErr'
              examples:
                invalid_params:
                  summary: invalid_params
                  value:
                    ok: false
                    error: 'org_id: Required'
                    code: invalid_params
        '500':
          description: >-
            `internal_error`: An unexpected server fault. Retry later; if it
            persists, report it with the time of the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubErr'
              examples:
                internal_error:
                  summary: internal_error
                  value:
                    ok: false
                    error: Internal server error
                    code: internal_error
      security:
        - BearerAuth: []
components:
  schemas:
    NotificationData:
      type: object
      properties:
        id:
          type: string
          description: Inbox row UUID
        event:
          type: string
          description: Event type key (e.g. run.failed)
        title:
          type: string
          nullable: true
          description: Short title for the UI
        message:
          type: string
          nullable: true
          description: Body text
        realm_id:
          type: string
          nullable: true
          description: Source realm id, or null for account-scoped rows
        realm_slug:
          type: string
          nullable: true
          description: Resolved realm slug for display (null if realm was deleted)
        user_id:
          type: string
          nullable: true
          description: Target user for per-user notifications; null = realm-wide
        team:
          type: string
          nullable: true
          description: Team slug when the event was team-scoped
        run_id:
          type: string
          nullable: true
          description: Related run id when present
        phase:
          type: string
          nullable: true
          description: Phase name when present
        severity:
          type: string
          nullable: true
          description: Severity (info, warning, error, …)
        payload:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
          description: Extra payload fields not promoted to columns
        created_at:
          type: number
          description: Create time (unix ms)
      required:
        - id
        - event
        - title
        - message
        - realm_id
        - realm_slug
        - user_id
        - team
        - run_id
        - phase
        - severity
        - payload
        - created_at
    HubErr:
      type: object
      required:
        - ok
        - error
      description: >-
        Every failure. Route-policy denials (401/403/404, and 400 when neither
        realm_id nor org_id was sent) answer `error` as `{ code, message }`;
        errors raised by the endpoint answer `error` as the message with the
        code beside it in `code`. Every error has a code. See
        [Errors](/hub-api/errors).
      properties:
        ok:
          type: boolean
          description: Always false on error
        error:
          description: The message, or `{ code, message }` for an access denial.
          oneOf:
            - type: string
            - type: object
              required:
                - code
                - message
              properties:
                code:
                  type: string
                message:
                  type: string
        code:
          type: string
          description: Stable error code of an endpoint error.
        details:
          type: object
          additionalProperties: true
          description: Structured detail, when there is some.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: cliq_tok_* | cliq_dt_*
      description: >-
        User PAT (`cliq_tok_…`, including session-scoped) or realm token
        (`cliq_dt_…`).

````

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