Replicated notifications API
The notifications API from Replicated — 10 operation(s) for notifications.
The notifications API from Replicated — 10 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/replicated-notifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
description: Manage enterprise portal users, install options, branding, documentation, email templates, and access control.
title: Vendor API V3 apps Notifications API
contact:
name: Replicated, Inc.
url: http://www.replicated.com/
email: info@replicated.com
version: 3.0.0
servers:
- url: https://api.replicated.com/vendor/v3
tags:
- name: notifications
paths:
/notification_email/resend_verification:
post:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/update'
tags:
- notifications
summary: Resend verification email for an unverified email address.
operationId: resendVerificationEmail
responses:
'200':
$ref: '#/components/responses/resendVerificationEmail'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
requestBody:
content:
application/json:
schema:
type: object
properties:
emailAddress:
type: string
x-go-name: EmailAddress
description: Email address to resend verification for
required: true
/notification_email/verify:
post:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/update'
tags:
- notifications
summary: Verify an email address using a verification code.
operationId: verifyEmail
responses:
'200':
$ref: '#/components/responses/verifyEmail'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
requestBody:
content:
application/json:
schema:
type: object
properties:
emailAddress:
type: string
x-go-name: EmailAddress
verificationCode:
type: string
x-go-name: VerificationCode
description: Email address and verification code to verify
required: true
/notification_event/{event_id}/retry:
post:
security:
- api_key: []
description: 'Immediately retry a failed notification event, including permanently failed events.
Required RBAC Policy: team/[:teamid]/notification/write'
tags:
- notifications
summary: Retry a notification event.
operationId: retryNotificationEvent
parameters:
- x-go-name: EventID
description: Event identifier
name: event_id
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/responseOk'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
'404':
$ref: '#/components/responses/responseErrNotFound'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_event_types:
get:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/types/list'
tags:
- notifications
summary: Search notification event types.
operationId: searchNotificationEventTypes
parameters:
- x-go-name: Q
description: Search query matching key, display name, description, or category.
name: q
in: query
schema:
type: string
- x-go-name: Limit
description: Optional maximum number of results to return. Must be between 1 and 100.
name: limit
in: query
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/searchNotificationEventTypesResponse'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_events:
get:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/events/read'
tags:
- notifications
summary: List team notification delivery events.
operationId: listNotificationEvents
parameters:
- x-go-name: PageSize
description: Page size
name: pageSize
in: query
schema:
type: integer
format: int64
default: 20
- x-go-name: CurrentPage
description: Current page
name: currentPage
in: query
schema:
type: integer
format: int64
- x-go-name: Type
description: Filter by type prefix (e.g. customer., instance., release.)
name: type
in: query
schema:
type: string
- x-go-name: EventTypes
description: Filter by event types
name: event_types
in: query
schema:
type: array
items:
type: string
- x-go-name: SubscriptionID
description: Filter by subscription ID
name: subscription_id
in: query
schema:
type: string
- x-go-name: SubscriptionType
description: 'Filter by subscription type: "personal" shows only the current user''s events, "team" shows all team events'
name: subscription_type
in: query
schema:
type: string
- x-go-name: StartTimeStr
description: Filter events after this time (ISO 8601 format)
name: start_time
in: query
schema:
type: string
- x-go-name: EndTimeStr
description: Filter events before this time (ISO 8601 format)
name: end_time
in: query
schema:
type: string
- x-go-name: Search
description: Search term to filter events by content
name: search
in: query
schema:
type: string
- x-go-name: Status
description: 'Filter by computed status: success, pending, or failed'
name: status
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/listNotificationEventsResponse'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_subscription:
post:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/create'
tags:
- notifications
summary: 'Create a new notification subscription.
Note: The webhook secret is stored but never returned in API responses for security.'
operationId: createNotificationSubscription
responses:
'201':
$ref: '#/components/responses/createNotificationSubscription'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
requestBody:
content:
application/json:
schema:
type: object
properties:
customHeaders:
type: array
items:
$ref: '#/components/schemas/CustomHeaderInput'
x-go-name: CustomHeaders
emailAddress:
type: string
x-go-name: EmailAddress
eventConfigs:
type: array
items:
$ref: '#/components/schemas/NotificationEventConfig'
x-go-name: EventConfigs
events:
type: array
items:
type: string
x-go-name: Events
failureContact:
type: string
x-go-name: FailureContact
isEnabled:
type: boolean
x-go-name: IsEnabled
name:
type: string
x-go-name: Name
webhookSecret:
type: string
x-go-name: WebhookSecret
webhookUrl:
type: string
x-go-name: WebhookURL
description: Create notification subscription parameters
required: true
/notification_subscription/{id}:
get:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/read'
tags:
- notifications
summary: Retrieve a single notification subscription.
operationId: getNotificationSubscription
parameters:
- x-go-name: ID
description: Notification subscription ID
name: id
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/getNotificationSubscription'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
'404':
$ref: '#/components/responses/responseErrNotFound'
servers:
- url: https://api.replicated.com/vendor/v3
put:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/update'
tags:
- notifications
summary: Update a notification subscription.
operationId: updateNotificationSubscription
parameters:
- x-go-name: ID
description: Notification subscription ID
name: id
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/updateNotificationSubscription'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
'404':
$ref: '#/components/responses/responseErrNotFound'
servers:
- url: https://api.replicated.com/vendor/v3
requestBody:
content:
application/json:
schema:
type: object
properties:
customHeaders:
type: array
items:
$ref: '#/components/schemas/CustomHeaderInput'
x-go-name: CustomHeaders
emailAddress:
type: string
x-go-name: EmailAddress
eventConfigs:
type: array
items:
$ref: '#/components/schemas/NotificationEventConfig'
x-go-name: EventConfigs
events:
type: array
items:
type: string
x-go-name: Events
failureContact:
type: string
x-go-name: FailureContact
isEnabled:
type: boolean
x-go-name: IsEnabled
name:
type: string
x-go-name: Name
webhookSecret:
type: string
x-go-name: WebhookSecret
webhookUrl:
type: string
x-go-name: WebhookURL
description: Update notification subscription parameters
required: true
delete:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/delete'
tags:
- notifications
summary: Remove a notification subscription.
operationId: deleteNotificationSubscription
parameters:
- x-go-name: ID
description: Notification subscription ID
name: id
in: path
required: true
schema:
type: string
responses:
'204':
$ref: '#/components/responses/responseNoContent'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
'404':
$ref: '#/components/responses/responseErrNotFound'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_subscription/{id}/events:
get:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/read'
tags:
- notifications
summary: List all events for a notification subscription.
operationId: listNotificationSubscriptionEvents
parameters:
- x-go-name: ID
description: The ID of the notification subscription
name: id
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/listNotificationSubscriptionEvents'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
'404':
$ref: '#/components/responses/responseErrNotFound'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_subscriptions:
get:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/read'
tags:
- notifications
summary: List all notification subscriptions for the current team.
operationId: listNotificationSubscriptions
responses:
'200':
$ref: '#/components/responses/listNotificationSubscriptions'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
/notification_webhook/test:
post:
security:
- api_key: []
description: 'Required RBAC Policy: team/notifications/subscriptions/create'
tags:
- notifications
summary: Test a webhook endpoint by sending a sample payload.
operationId: testWebhook
responses:
'200':
$ref: '#/components/responses/testWebhookResponse'
'400':
$ref: '#/components/responses/responseErrBadRequest'
'401':
$ref: '#/components/responses/responseErrUnauthorized'
'403':
$ref: '#/components/responses/responseErrForbidden'
servers:
- url: https://api.replicated.com/vendor/v3
requestBody:
content:
application/json:
schema:
type: object
properties:
customHeaders:
type: array
items:
$ref: '#/components/schemas/CustomHeaderInput'
x-go-name: CustomHeaders
eventType:
type: string
x-go-name: EventType
webhookSecret:
type: string
x-go-name: WebhookSecret
webhookUrl:
type: string
x-go-name: WebhookURL
description: Test webhook parameters
required: true
components:
responses:
listNotificationSubscriptions:
description: ListNotificationSubscriptionsResponse contains a list of notification subscriptions
content:
application/json:
schema:
type: object
properties:
subscriptions:
type: array
items:
$ref: '#/components/schemas/NotificationSubscription'
x-go-name: Subscriptions
totalCount:
type: integer
format: int64
x-go-name: TotalCount
responseNoContent:
description: On success, no payload returned
responseErrUnauthorized:
description: Return if the caller is not authorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
x-go-name: Message
responseErrForbidden:
description: Returned if the caller does not have the needed permission
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
x-go-name: Message
messageCode:
type: string
x-go-name: MessageCode
x-go-name: Error
responseOk:
description: On success
searchNotificationEventTypesResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SearchNotificationEventTypesResponse'
listNotificationSubscriptionEvents:
description: ListNotificationSubscriptionEventsResponse contains the notification events
content:
application/json:
schema:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/NotificationEventWithAttempts'
x-go-name: Events
resendVerificationEmail:
description: ResendVerificationEmailResponse indicates success or failure
content:
application/json:
schema:
type: object
properties:
message:
type: string
x-go-name: Message
success:
type: boolean
x-go-name: Success
getNotificationSubscription:
description: GetNotificationSubscriptionResponse contains a single notification subscription
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSubscription'
verifyEmail:
description: VerifyEmailResponse indicates success or failure
content:
application/json:
schema:
type: object
properties:
message:
type: string
x-go-name: Message
success:
type: boolean
x-go-name: Success
testWebhookResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TestWebhookResponseBody'
updateNotificationSubscription:
description: UpdateNotificationSubscriptionResponse contains the updated notification subscription
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSubscription'
listNotificationEventsResponse:
description: ListNotificationEventsResponse contains the JSON response for listing notification events.
content:
application/json:
schema:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/TeamNotificationEventWithAttempts'
x-go-name: Events
totalCount:
type: integer
format: int64
x-go-name: TotalCount
responseErrNotFound:
description: Returned on resource not found
content:
application/json:
schema:
type: object
properties:
message:
type: string
x-go-name: Message
responseErrBadRequest:
description: Returned on bad input
content:
application/json:
schema:
type: object
properties:
error_code:
description: Error code if available
type: string
x-go-name: ErrorCode
message:
description: Error message text if available
type: string
x-go-name: Message
createNotificationSubscription:
description: CreateNotificationSubscriptionResponse contains the created notification subscription
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSubscription'
schemas:
NotificationEventConfig:
description: NotificationEventConfig represents an event configuration within a subscription
type: object
properties:
eventType:
type: string
x-go-name: EventType
filters:
type: object
additionalProperties: {}
x-go-name: Filters
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/types
NotificationEventAttempt:
description: NotificationEventAttempt represents a delivery attempt for a notification event
type: object
properties:
attemptedAt:
type: string
format: date-time
x-go-name: AttemptedAt
durationMs:
type: integer
format: int64
x-go-name: DurationMs
errorMessage:
type: string
x-go-name: ErrorMessage
eventId:
type: string
x-go-name: EventID
id:
type: string
x-go-name: ID
requestBody:
type: object
x-go-name: RequestBody
requestHeaders:
type: object
x-go-name: RequestHeaders
responseBody:
type: string
x-go-name: ResponseBody
responseHeaders:
type: object
x-go-name: ResponseHeaders
statusCode:
type: integer
format: int64
x-go-name: StatusCode
success:
type: boolean
x-go-name: Success
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications
SearchNotificationEventTypesResponse:
description: SearchNotificationEventTypesResponse is the response for searching event types
type: object
properties:
eventTypes:
type: array
items:
$ref: '#/components/schemas/EventTypeResponse'
x-go-name: EventTypes
total:
type: integer
format: int64
x-go-name: Total
x-go-package: github.com/replicatedhq/vandoor/handlers/vendor-api/replv3/notifications
CustomHeaderMasked:
description: CustomHeaderMasked represents a custom HTTP header with its value masked for API responses
type: object
properties:
maskedValue:
type: string
x-go-name: MaskedValue
name:
type: string
x-go-name: Name
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/types
NotificationSubscription:
description: NotificationSubscription represents a notification subscription
type: object
properties:
activeMutesCount:
type: integer
format: int64
x-go-name: ActiveMutesCount
createdAt:
type: string
format: date-time
x-go-name: CreatedAt
createdBy:
$ref: '#/components/schemas/Actor'
customHeaders:
type: array
items:
$ref: '#/components/schemas/CustomHeaderMasked'
x-go-name: CustomHeaders
deletedAt:
type: string
format: date-time
x-go-name: DeletedAt
emailAddress:
type: string
x-go-name: EmailAddress
emailVerified:
type: boolean
x-go-name: EmailVerified
eventConfigs:
type: array
items:
$ref: '#/components/schemas/NotificationEventConfig'
x-go-name: EventConfigs
failureContact:
type: string
x-go-name: FailureContact
id:
type: string
x-go-name: ID
isEnabled:
type: boolean
x-go-name: IsEnabled
name:
type: string
x-go-name: Name
readonly:
type: boolean
x-go-name: Readonly
requiresVerification:
type: boolean
x-go-name: RequiresVerification
teamId:
type: string
x-go-name: TeamID
updatedAt:
type: string
format: date-time
x-go-name: UpdatedAt
userId:
type: string
x-go-name: UserID
webhookUrl:
type: string
x-go-name: WebhookURL
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/types
PayloadField:
description: Fields are returned as an ordered slice to preserve display order in the UI.
type: object
title: PayloadField describes a single field in the webhook payload's "data" object.
properties:
description:
type: string
x-go-name: Description
key:
type: string
x-go-name: Key
type:
type: string
x-go-name: Type
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/events
TeamNotificationEventWithAttempts:
description: 'TeamNotificationEventWithAttempts includes notification event details, attempts, and subscription metadata
for team-wide listing.'
type: object
properties:
attempts:
type: array
items:
$ref: '#/components/schemas/NotificationEventAttempt'
x-go-name: Attempts
createdAt:
type: string
format: date-time
x-go-name: CreatedAt
createdByUserId:
description: Subscription metadata (from notification_subscription)
type: string
x-go-name: CreatedByUserID
eventData:
type: object
x-go-name: EventData
eventType:
type: string
x-go-name: EventType
id:
type: string
x-go-name: ID
lastError:
type: string
x-go-name: LastError
nextRetryAt:
type: string
format: date-time
x-go-name: NextRetryAt
payload:
type: object
x-go-name: Payload
payloadType:
type: string
x-go-name: PayloadType
retryCount:
type: integer
format: int64
x-go-name: RetryCount
sentAt:
type: string
format: date-time
x-go-name: SentAt
status:
description: Computed fields
type: string
x-go-name: Status
subscriptionDeletedAt:
type: string
format: date-time
x-go-name: SubscriptionDeletedAt
subscriptionId:
type: string
x-go-name: NotificationSubscriptionID
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications
Actor:
type: object
properties:
description:
type: string
x-go-name: Description
id:
type: string
x-go-name: ID
link:
type: string
x-go-name: Link
timestamp:
type: string
format: date-time
x-go-name: Timestamp
type:
type: string
x-go-name: Type
x-go-package: github.com/replicatedhq/vandoor/pkg/models/types
EventTypeResponse:
description: EventTypeResponse represents the JSON response for an event type
type: object
properties:
category:
type: string
x-go-name: Category
description:
type: string
x-go-name: Description
displayName:
type: string
x-go-name: DisplayName
filters:
type: array
items:
$ref: '#/components/schemas/FilterField'
x-go-name: Filters
key:
type: string
x-go-name: Key
webhookPayloadFormat:
type: array
items:
$ref: '#/components/schemas/PayloadField'
x-go-name: WebhookPayloadFormat
x-go-package: github.com/replicatedhq/vandoor/handlers/vendor-api/replv3/notifications
Option:
description: Option represents an option for select/multiselect fields
type: object
properties:
appId:
type: string
x-go-name: AppID
label:
type: string
x-go-name: Label
metricType:
type: string
x-go-name: MetricType
value:
type: string
x-go-name: Value
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/events
CustomHeaderInput:
description: CustomHeaderInput represents a custom HTTP header provided by the user (name + plaintext value)
type: object
properties:
name:
type: string
x-go-name: Name
value:
type: string
x-go-name: Value
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications/types
NotificationEventWithAttempts:
description: NotificationEventWithAttempts includes event details and all delivery attempts
type: object
properties:
attempts:
type: array
items:
$ref: '#/components/schemas/NotificationEventAttempt'
x-go-name: Attempts
createdAt:
type: string
format: date-time
x-go-name: CreatedAt
eventData:
type: object
x-go-name: EventData
eventType:
type: string
x-go-name: EventType
id:
type: string
x-go-name: ID
lastError:
type: string
x-go-name: LastError
nextRetryAt:
type: string
format: date-time
x-go-name: NextRetryAt
payload:
type: object
x-go-name: Payload
payloadType:
type: string
x-go-name: PayloadType
retryCount:
type: integer
format: int64
x-go-name: RetryCount
sentAt:
type: string
format: date-time
x-go-name: SentAt
status:
description: Computed fields
type: string
x-go-name: Status
subscriptionId:
type: string
x-go-name: NotificationSubscriptionID
x-go-package: github.com/replicatedhq/vandoor/pkg/notifications
TestWebhookResponseBody:
description: TestWebhookResponseBody contains the result of a webhook test
type: object
properties:
durationMs:
type: integer
format: int64
x-go-name: DurationMs
error:
type: string
x-go-name: Error
statusCode:
type: integer
format: int64
x-go-name: StatusCode
success:
type: boolean
x-go-name: Success
x-go-package: github.com/replicatedhq/vandoor/handlers/vendor-api/replv3/notifications
FilterField:
description: FilterField represents a filter field for an event type
type: object
properties:
key:
type: string
x-go-name: Key
label:
type: string
x-go-name: Label
options:
type: array
items:
$ref: '#/components/schemas/Option'
x-go-name: Options
placeholder:
type: string
x-g
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/replicated/refs/heads/main/openapi/replicated-notifications-api-openapi.yml