Gitea · Capability

Gitea API — notification

Gitea API — notification. 7 operations. Lead operation: List Users's Notification Threads. Self-contained Naftiko capability covering one Gitea business surface.

Run with Naftiko Giteanotification

What You Can Do

GET
Notifygetlist — List Users's Notification Threads
/v1/notifications
PUT
Notifyreadlist — Mark Notification Threads as Read, Pinned or Unread
/v1/notifications
GET
Notifynewavailable — Check if Unread Notifications Exist
/v1/notifications/new
GET
Notifygetthread — Get Notification Thread by ID
/v1/notifications/threads/{id}
PATCH
Notifyreadthread — Mark Notification Thread as Read by ID
/v1/notifications/threads/{id}
GET
Notifygetrepolist — List Users's Notification Threads on a Specific Repo
/v1/repos/{owner}/{repo}/notifications
PUT
Notifyreadrepolist — Mark Notification Threads as Read, Pinned or Unread on a Specific Repo
/v1/repos/{owner}/{repo}/notifications

MCP Tools

list-users-s-notification-threads

List Users's Notification Threads

read-only idempotent
mark-notification-threads-read-pinned

Mark Notification Threads as Read, Pinned or Unread

idempotent
check-if-unread-notifications-exist

Check if Unread Notifications Exist

read-only idempotent
get-notification-thread-id

Get Notification Thread by ID

read-only idempotent
mark-notification-thread-read-id

Mark Notification Thread as Read by ID

idempotent
list-users-s-notification-threads-specific

List Users's Notification Threads on a Specific Repo

read-only idempotent
mark-notification-threads-read-pinned-2

Mark Notification Threads as Read, Pinned or Unread on a Specific Repo

idempotent

Capability Spec

rest-notification.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gitea API — notification
  description: 'Gitea API — notification. 7 operations. Lead operation: List Users''s Notification Threads. Self-contained
    Naftiko capability covering one Gitea business surface.'
  tags:
  - Gitea
  - notification
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITEA_API_KEY: GITEA_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-notification
    baseUri: https://gitea.com/api/v1
    description: Gitea API — notification business capability. Self-contained, no shared references.
    resources:
    - name: notifications
      path: /notifications
      operations:
      - name: notifygetlist
        method: GET
        description: List Users's Notification Threads
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: all
          in: query
          type: boolean
          description: If true, show notifications marked as read. Default value is false
        - name: status-types
          in: query
          type: array
          description: 'Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults
            to unread & pinned.'
        - name: subject-type
          in: query
          type: array
          description: filter notifications by subject type
        - name: since
          in: query
          type: string
          description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
        - name: before
          in: query
          type: string
          description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
        - name: page
          in: query
          type: integer
          description: page number of results to return (1-based)
        - name: limit
          in: query
          type: integer
          description: page size of results
      - name: notifyreadlist
        method: PUT
        description: Mark Notification Threads as Read, Pinned or Unread
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: last_read_at
          in: query
          type: string
          description: Describes the last point that notifications were checked. Anything updated since this time will not
            be updated.
        - name: all
          in: query
          type: string
          description: If true, mark all notifications on this repo. Default value is false
        - name: status-types
          in: query
          type: array
          description: 'Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults
            to unread.'
        - name: to-status
          in: query
          type: string
          description: Status to mark notifications as, Defaults to read.
    - name: notifications-new
      path: /notifications/new
      operations:
      - name: notifynewavailable
        method: GET
        description: Check if Unread Notifications Exist
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: notifications-threads-id
      path: /notifications/threads/{id}
      operations:
      - name: notifygetthread
        method: GET
        description: Get Notification Thread by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: id of notification thread
          required: true
      - name: notifyreadthread
        method: PATCH
        description: Mark Notification Thread as Read by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: id of notification thread
          required: true
        - name: to-status
          in: query
          type: string
          description: Status to mark notifications as
    - name: repos-owner-repo-notifications
      path: /repos/{owner}/{repo}/notifications
      operations:
      - name: notifygetrepolist
        method: GET
        description: List Users's Notification Threads on a Specific Repo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: owner
          in: path
          type: string
          description: owner of the repo
          required: true
        - name: repo
          in: path
          type: string
          description: name of the repo
          required: true
        - name: all
          in: query
          type: boolean
          description: If true, show notifications marked as read. Default value is false
        - name: status-types
          in: query
          type: array
          description: 'Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults
            to unread & pinned'
        - name: subject-type
          in: query
          type: array
          description: filter notifications by subject type
        - name: since
          in: query
          type: string
          description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
        - name: before
          in: query
          type: string
          description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
        - name: page
          in: query
          type: integer
          description: page number of results to return (1-based)
        - name: limit
          in: query
          type: integer
          description: page size of results
      - name: notifyreadrepolist
        method: PUT
        description: Mark Notification Threads as Read, Pinned or Unread on a Specific Repo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: owner
          in: path
          type: string
          description: owner of the repo
          required: true
        - name: repo
          in: path
          type: string
          description: name of the repo
          required: true
        - name: all
          in: query
          type: string
          description: If true, mark all notifications on this repo. Default value is false
        - name: status-types
          in: query
          type: array
          description: 'Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults
            to unread.'
        - name: to-status
          in: query
          type: string
          description: Status to mark notifications as. Defaults to read.
        - name: last_read_at
          in: query
          type: string
          description: Describes the last point that notifications were checked. Anything updated since this time will not
            be updated.
    authentication:
      type: apikey
      key: access_token
      value: '{{env.GITEA_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: rest-notification-rest
    port: 8080
    description: REST adapter for Gitea API — notification. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/notifications
      name: notifications
      description: REST surface for notifications.
      operations:
      - method: GET
        name: notifygetlist
        description: List Users's Notification Threads
        call: rest-notification.notifygetlist
        with:
          all: rest.all
          status-types: rest.status-types
          subject-type: rest.subject-type
          since: rest.since
          before: rest.before
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: notifyreadlist
        description: Mark Notification Threads as Read, Pinned or Unread
        call: rest-notification.notifyreadlist
        with:
          last_read_at: rest.last_read_at
          all: rest.all
          status-types: rest.status-types
          to-status: rest.to-status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/notifications/new
      name: notifications-new
      description: REST surface for notifications-new.
      operations:
      - method: GET
        name: notifynewavailable
        description: Check if Unread Notifications Exist
        call: rest-notification.notifynewavailable
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/notifications/threads/{id}
      name: notifications-threads-id
      description: REST surface for notifications-threads-id.
      operations:
      - method: GET
        name: notifygetthread
        description: Get Notification Thread by ID
        call: rest-notification.notifygetthread
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: notifyreadthread
        description: Mark Notification Thread as Read by ID
        call: rest-notification.notifyreadthread
        with:
          id: rest.id
          to-status: rest.to-status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/notifications
      name: repos-owner-repo-notifications
      description: REST surface for repos-owner-repo-notifications.
      operations:
      - method: GET
        name: notifygetrepolist
        description: List Users's Notification Threads on a Specific Repo
        call: rest-notification.notifygetrepolist
        with:
          owner: rest.owner
          repo: rest.repo
          all: rest.all
          status-types: rest.status-types
          subject-type: rest.subject-type
          since: rest.since
          before: rest.before
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: notifyreadrepolist
        description: Mark Notification Threads as Read, Pinned or Unread on a Specific Repo
        call: rest-notification.notifyreadrepolist
        with:
          owner: rest.owner
          repo: rest.repo
          all: rest.all
          status-types: rest.status-types
          to-status: rest.to-status
          last_read_at: rest.last_read_at
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-notification-mcp
    port: 9090
    transport: http
    description: MCP adapter for Gitea API — notification. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-users-s-notification-threads
      description: List Users's Notification Threads
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-notification.notifygetlist
      with:
        all: tools.all
        status-types: tools.status-types
        subject-type: tools.subject-type
        since: tools.since
        before: tools.before
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: mark-notification-threads-read-pinned
      description: Mark Notification Threads as Read, Pinned or Unread
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-notification.notifyreadlist
      with:
        last_read_at: tools.last_read_at
        all: tools.all
        status-types: tools.status-types
        to-status: tools.to-status
      outputParameters:
      - type: object
        mapping: $.
    - name: check-if-unread-notifications-exist
      description: Check if Unread Notifications Exist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-notification.notifynewavailable
      outputParameters:
      - type: object
        mapping: $.
    - name: get-notification-thread-id
      description: Get Notification Thread by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-notification.notifygetthread
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: mark-notification-thread-read-id
      description: Mark Notification Thread as Read by ID
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-notification.notifyreadthread
      with:
        id: tools.id
        to-status: tools.to-status
      outputParameters:
      - type: object
        mapping: $.
    - name: list-users-s-notification-threads-specific
      description: List Users's Notification Threads on a Specific Repo
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-notification.notifygetrepolist
      with:
        owner: tools.owner
        repo: tools.repo
        all: tools.all
        status-types: tools.status-types
        subject-type: tools.subject-type
        since: tools.since
        before: tools.before
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: mark-notification-threads-read-pinned-2
      description: Mark Notification Threads as Read, Pinned or Unread on a Specific Repo
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-notification.notifyreadrepolist
      with:
        owner: tools.owner
        repo: tools.repo
        all: tools.all
        status-types: tools.status-types
        to-status: tools.to-status
        last_read_at: tools.last_read_at
      outputParameters:
      - type: object
        mapping: $.