Scott Ai notifications API
The notifications API from Scott Ai — 5 operation(s) for notifications.
The notifications API from Scott Ai — 5 operation(s) for notifications.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/scott-ai-notifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: One-Shot access Notifications API
version: 1.0.0
servers:
- url: https://api.tryscott.ai
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: notifications
paths:
/notifications:
get:
tags:
- notifications
summary: List Notifications
description: Paginated notification list for the current user, with actor display name.
operationId: list_notifications
security:
- HTTPBearer: []
parameters:
- name: unread_only
in: query
required: false
schema:
type: boolean
default: false
title: Unread Only
- name: page
in: query
required: false
schema:
type: integer
default: 1
title: Page
- name: page_size
in: query
required: false
schema:
type: integer
default: 20
title: Page Size
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListNotificationsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/notifications/unread-count:
get:
tags:
- notifications
summary: Get Unread Count
description: Fast count of unread notifications for the current user.
operationId: get_unread_count
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UnreadCountResponse'
security:
- HTTPBearer: []
/notifications/{notification_id}/read:
post:
tags:
- notifications
summary: Mark Notification Read
description: 'Mark a single notification as read.
Note: Notifications are user-scoped, not workspace-scoped. No workspace authz required.'
operationId: mark_notification_read
security:
- HTTPBearer: []
parameters:
- name: notification_id
in: path
required: true
schema:
type: string
title: Notification Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Mark Notification Read
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/notifications/read-all:
post:
tags:
- notifications
summary: Mark All Read
description: 'Mark all unread notifications as read for the current user.
Note: Notifications are user-scoped, not workspace-scoped. No workspace authz required.'
operationId: mark_all_notifications_read
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Mark All Notifications Read
security:
- HTTPBearer: []
/notifications/stream:
get:
tags:
- notifications
summary: Notification Stream
description: 'SSE stream: polls DB every 3s for new notifications. Heartbeat every 15s.'
operationId: notification_stream
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
security:
- HTTPBearer: []
components:
schemas:
NotificationResponse:
properties:
id:
type: string
title: Id
type:
$ref: '#/components/schemas/NotificationType'
workspace_id:
anyOf:
- type: string
- type: 'null'
title: Workspace Id
actor_user_id:
type: string
title: Actor User Id
actor_display_name:
anyOf:
- type: string
- type: 'null'
title: Actor Display Name
entity_type:
anyOf:
- type: string
- type: 'null'
title: Entity Type
entity_id:
anyOf:
- type: string
- type: 'null'
title: Entity Id
payload:
anyOf:
- {}
- type: 'null'
title: Payload
read_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Read At
created_at:
type: string
format: date-time
title: Created At
type: object
required:
- id
- type
- workspace_id
- actor_user_id
- entity_type
- entity_id
- payload
- read_at
- created_at
title: NotificationResponse
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ListNotificationsResponse:
properties:
notifications:
items:
$ref: '#/components/schemas/NotificationResponse'
type: array
title: Notifications
type: object
required:
- notifications
title: ListNotificationsResponse
NotificationType:
type: string
enum:
- mention
- workspace_invite
- member_joined
- fork_created
- review_requested
- review_decision
- review_nudge
- review_retracted
- comment_new
- comment_reply
title: NotificationType
description: Types of in-app notifications.
UnreadCountResponse:
properties:
count:
type: integer
title: Count
type: object
required:
- count
title: UnreadCountResponse
securitySchemes:
HTTPBearer:
type: http
scheme: bearer