Opply Notifications API
The Notifications API from Opply — 12 operation(s) for notifications.
The Notifications API from Opply — 12 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/opply-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: Opply Activity Feed Notifications API
version: 0.0.0
servers:
- url: https://api.opply.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Notifications
paths:
/api/v1/notifications/emails/brand/:
get:
operationId: api_v1_notifications_emails_brand_list
summary: Unsubscribe groups endpoints
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/emails/brand/all/:
post:
operationId: api_v1_notifications_emails_brand_all_create
summary: Unsubscribe groups endpoints
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
multipart/form-data:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/emails/brand/on-off-unsubscribe-groups/:
put:
operationId: api_v1_notifications_emails_brand_on_off_unsubscribe_groups_update
summary: Activate or deactivate unsubscribe groups for users
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/EmailNotifications'
multipart/form-data:
schema:
$ref: '#/components/schemas/EmailNotifications'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/emails/supplier/:
get:
operationId: api_v1_notifications_emails_supplier_list
summary: Unsubscribe groups endpoints
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/emails/supplier/all/:
post:
operationId: api_v1_notifications_emails_supplier_all_create
summary: Unsubscribe groups endpoints
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
multipart/form-data:
schema:
$ref: '#/components/schemas/AllEmailNotifications'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/emails/supplier/on-off-unsubscribe-groups/:
put:
operationId: api_v1_notifications_emails_supplier_on_off_unsubscribe_groups_update
summary: Activate or deactivate unsubscribe groups for users
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/EmailNotifications'
multipart/form-data:
schema:
$ref: '#/components/schemas/EmailNotifications'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EmailNotifications'
description: ''
/api/v1/notifications/notifications/:
get:
operationId: api_v1_notifications_notifications_list
description: 'This endpoint provides a list of notifications that should appear
when pressing the bell icon at the top right of the dashboard.
It is paginated with Djangos standard pagination, but with
the extra field unread_count, which is a count of unread notifications'
summary: Retrieve a list of notifications
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedNotificationList'
description: ''
/api/v1/notifications/notifications/{uuid}/action-mark-clear/:
post:
operationId: api_v1_notifications_notifications_action_mark_clear_create
description: 'Mark a notification type action as read by the user. UUID is a notification
UUID. This endpoint is useful when the action doesn''t have a related object.'
summary: Mark a notification action as clear by the user
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/notifications/notifications/{uuid}/action-mark-read/:
post:
operationId: api_v1_notifications_notifications_action_mark_read_create
summary: Mark a notification action as read by the user
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/notifications/notifications/{uuid}/mark-read/:
post:
operationId: api_v1_notifications_notifications_mark_read_create
description: 'Mark a notification as read by the user. UUID is a notification
UUID which you can GET from /api/v1/notifications/notifications'
summary: Mark a general notification as read by the user
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Notifications
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/notifications/notifications/action-mark-related-cleared/:
post:
operationId: api_v1_notifications_notifications_action_mark_related_cleared_create
description: 'When cleaning a action the FE should pass the related object of that action and its clear trigger,
then this endpoint will mark as cleared the notifications of type action with that clean trigger
related to that object'
summary: Mark action notification with the given related_object_uuid as cleared
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MarkRelatedCleared'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MarkRelatedCleared'
multipart/form-data:
schema:
$ref: '#/components/schemas/MarkRelatedCleared'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/notifications/notifications/mark-related-read/:
post:
operationId: api_v1_notifications_notifications_mark_related_read_create
description: 'Mark all notifications related to the given object as read, for example
you might provide related_object_type "quote" with related_object_uuid "3fa85f64-5717-4562-b3fc-2c963f66afa6"
to mark all notifications related to that quote as read.'
summary: Mark all notifications with the given related_object_uuid as read
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MarkRelatedRead'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MarkRelatedRead'
multipart/form-data:
schema:
$ref: '#/components/schemas/MarkRelatedRead'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
'404':
description: No response body
components:
schemas:
TitleEnum:
enum:
- Kriya KYB Reminder
- New Quote
- New Quote Reminder
- New Request
- New Request Reminder
- New Samples Request
- Samples Request Reminder
- Samples Dispatched
- Samples Received Reminder
- Samples Approved
- Samples Not Approved
- Buyer Started Negotiation
- Supplier Negotiation Response
- Quote updated
- New Order
- Order Dispatched
- Payment Due
- Quote Proceeded
- Create Contract Reminder
- Proceed with Contract
- 'Reminder: Proceed with Contract'
- Confirm Contract
- Contract Created
- New Purchase Request
- New Purchase Request Reminder
- Response to Purchase Request
- Purchase Request Cancelled
- Quote Expiring
- Request Expiring
- New Message
- New User
- Contract Renewal Declined
- Supplier Accepts Contract Renewal
- Sign New Contract Purchase Agreement
- Contract Renewal Requested
- Contract Renewal Terms accepted
- Supplier Negotiates Contract Renewal
- Re-order
- Request for Re-order Declined
- Supplier change payment terms
type: string
description: '* `Kriya KYB Reminder` - Kriya Kyb Reminder
* `New Quote` - New Quote
* `New Quote Reminder` - New Quote Reminder
* `New Request` - New Request
* `New Request Reminder` - New Request Reminder
* `New Samples Request` - New Samples Request
* `Samples Request Reminder` - Samples Request Reminder
* `Samples Dispatched` - Samples Dispatched
* `Samples Received Reminder` - Samples Received Reminder
* `Samples Approved` - Samples Approved
* `Samples Not Approved` - Samples Not Approved
* `Buyer Started Negotiation` - Buyer Started Negotiation
* `Supplier Negotiation Response` - Supplier Negotiation Response
* `Quote updated` - Quote Updated
* `New Order` - New Order
* `Order Dispatched` - Order Dispatched
* `Payment Due` - Payment Due
* `Quote Proceeded` - Quote Proceeded
* `Create Contract Reminder` - Create Contract Reminder
* `Proceed with Contract` - Proceed With Contract
* `Reminder: Proceed with Contract` - Reminder Proceed With Contract
* `Confirm Contract` - Confirm Contract
* `Contract Created` - Contract Created
* `New Purchase Request` - New Purchase Request
* `New Purchase Request Reminder` - New Purchase Request Reminder
* `Response to Purchase Request` - Response To Purchase Request
* `Purchase Request Cancelled` - Purchase Request Cancelled
* `Quote Expiring` - Quote Expiring
* `Request Expiring` - Request Expiring
* `New Message` - New Message
* `New User` - New User
* `Contract Renewal Declined` - Contract Renewal Declined
* `Supplier Accepts Contract Renewal` - Contract Renewal Accepted
* `Sign New Contract Purchase Agreement` - Contract Renewal Accepted With Agreement
* `Contract Renewal Requested` - Contract Renewal Requested
* `Contract Renewal Terms accepted` - Contract Renewal Terms Accepted
* `Supplier Negotiates Contract Renewal` - Supplier Negotiates Contract Renewal
* `Re-order` - Reorder
* `Request for Re-order Declined` - Reorder Declined
* `Supplier change payment terms` - Supplier Updated Payment Terms'
UsedForEnum:
enum:
- general_notifications
- actions
type: string
description: '* `general_notifications` - General Notifications
* `actions` - Actions'
MarkRelatedCleared:
type: object
properties:
related_object_uuid:
type: string
format: uuid
related_object_type:
type: string
action_clear_trigger:
$ref: '#/components/schemas/ActionClearTriggerEnum'
required:
- action_clear_trigger
- related_object_type
- related_object_uuid
NotificationTypeEnum:
enum:
- trigger-based
- time-based
- user-specific
- global
type: string
description: '* `trigger-based` - Triggerbased
* `time-based` - Timebased
* `user-specific` - Userspecific
* `global` - Global'
BlankEnum:
enum:
- ''
EmailNotifications:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
title:
type:
- string
- 'null'
maxLength: 255
type:
$ref: '#/components/schemas/EmailNotificationsTypeEnum'
description:
type:
- string
- 'null'
maxLength: 255
is_activated_for_user:
type: boolean
required:
- is_activated_for_user
- type
- uuid
ActionTypeEnum:
enum:
- order
- request
- contracts
- onboarding
- samples
- quotes
type: string
description: '* `order` - Order
* `request` - Request
* `contracts` - Contracts
* `onboarding` - Onboarding
* `samples` - Samples
* `quotes` - Quotes'
AllEmailNotifications:
type: object
properties:
all_emails:
type: boolean
required:
- all_emails
PaginatedNotificationList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Notification'
unread_count:
type: integer
example: 123
NullEnum:
enum:
- null
MarkRelatedRead:
type: object
properties:
related_object_uuid:
type: string
format: uuid
related_object_type:
type: string
required:
- related_object_type
- related_object_uuid
EmailNotificationsTypeEnum:
enum:
- b_s_new_message
- b_s_daily_message_summary
- b_payment_confirmation
- b_payment_due
- b_payment_reminder
- s_payout_complete
- b_purchase_request_accepted
- s_new_purchase_request
- b_dispatch_notification
- b_new_quote_received
- s_quote_accepted
- s_new_request
- b_order_confirmations
- s_dispatch_reminders
- s_samples_requested
- b_quote_available_to_order
- b_purchase_request_declined
- s_quote_negotiations_started
- b_quote_negotiation_responses
- b_products_list_uploaded
- b_ingredients_list_uploaded
- s_reminder_to_quote
- b_quote_expiry_reminder
- b_samples_dispatched
- s_supplier_remind_to_quote
- b_review_quotes
- s_samples_delivered
- b_samples_feedback
- s_reorder_request_created
- b_reorder_request_accepted
- b_reorder_request_declined
- s_order_delivered
- s_purchase_order_cancelled
- s_payout_confirmation
- b_contract_confirmed
- s_contract_confirmed
- s_create_contract
- b_upload_signed_agreement
- s_purchase_order_edited
- s_quote_declined
- s_requested_updated_quote
- b_quote_updated
- b_order_updated
- b_order_pending_payment
- b_order_dispatched
- b_s_daily_task_digest
- b_spot_buy_request_created
- b_order_created
- b_service_fee_invoice
- b_grouped_statement_due_reminder
- b_grouped_statement_due_today
- b_grouped_statement_overdue
type: string
description: '* `b_s_new_message` - b_s_new_message
* `b_s_daily_message_summary` - b_s_daily_message_summary
* `b_payment_confirmation` - b_payment_confirmation
* `b_payment_due` - b_payment_due
* `b_payment_reminder` - b_payment_reminder
* `s_payout_complete` - s_payout_complete
* `b_purchase_request_accepted` - b_purchase_request_accepted
* `s_new_purchase_request` - s_new_purchase_request
* `b_dispatch_notification` - b_dispatch_notification
* `b_new_quote_received` - b_new_quote_received
* `s_quote_accepted` - s_quote_accepted
* `s_new_request` - s_new_request
* `b_order_confirmations` - b_order_confirmations
* `s_dispatch_reminders` - s_dispatch_reminders
* `s_samples_requested` - s_samples_requested
* `b_quote_available_to_order` - b_quote_available_to_order
* `b_purchase_request_declined` - b_purchase_request_declined
* `s_quote_negotiations_started` - s_quote_negotiations_started
* `b_quote_negotiation_responses` - b_quote_negotiation_responses
* `b_products_list_uploaded` - b_products_list_uploaded
* `b_ingredients_list_uploaded` - b_ingredients_list_uploaded
* `s_reminder_to_quote` - s_reminder_to_quote
* `b_quote_expiry_reminder` - b_quote_expiry_reminder
* `b_samples_dispatched` - b_samples_dispatched
* `s_supplier_remind_to_quote` - s_supplier_remind_to_quote
* `b_review_quotes` - b_review_quotes
* `s_samples_delivered` - s_samples_delivered
* `b_samples_feedback` - b_samples_feedback
* `s_reorder_request_created` - s_reorder_request_created
* `b_reorder_request_accepted` - b_reorder_request_accepted
* `b_reorder_request_declined` - b_reorder_request_declined
* `s_order_delivered` - s_order_delivered
* `s_purchase_order_cancelled` - s_purchase_order_cancelled
* `s_payout_confirmation` - s_payout_confirmation
* `b_contract_confirmed` - b_contract_confirmed
* `s_contract_confirmed` - s_contract_confirmed
* `s_create_contract` - s_create_contract
* `b_upload_signed_agreement` - b_upload_signed_agreement
* `s_purchase_order_edited` - s_purchase_order_edited
* `s_quote_declined` - s_quote_declined
* `s_requested_updated_quote` - s_requested_updated_quote
* `b_quote_updated` - b_quote_updated
* `b_order_updated` - b_order_updated
* `b_order_pending_payment` - b_order_pending_payment
* `b_order_dispatched` - b_order_dispatched
* `b_s_daily_task_digest` - b_s_daily_task_digest
* `b_spot_buy_request_created` - b_spot_buy_request_created
* `b_order_created` - b_order_created
* `b_service_fee_invoice` - b_service_fee_invoice
* `b_grouped_statement_due_reminder` - b_grouped_statement_due_reminder
* `b_grouped_statement_due_today` - b_grouped_statement_due_today
* `b_grouped_statement_overdue` - b_grouped_statement_overdue'
NotificationCategoryEnum:
enum:
- tasks
- task_mentions
- updates
- system
type: string
description: '* `tasks` - Tasks
* `task_mentions` - Task Mentions
* `updates` - Updates
* `system` - System'
ShortUser:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
first_name:
type: string
maxLength: 150
last_name_short:
type: string
readOnly: true
required:
- last_name_short
- uuid
ActionClearTriggerEnum:
enum:
- Mark samples as dispatched
- Reject samples request
- Buyer marks samples as delivered
- Order is marked as dispatched or Buyer marks order as delivered
- Order has been delivered
- Purchase Order is Accepted or Declined
- Clear Time to Order Action
- Payment has been received
- Signed Agreement Uploaded
- Purchase Order is placed
- Update quote or reject negotiation
- One or more ingredients are created
- One of more products are created
- Samples are marked as received
- Marked as delivered
- Quote for request or decline request
- Product list is uploaded
- Respond to Request
- Respond to negotiations
- Contract is created
- Buyer has created a request
- Order or decline quote
- Open contract details page
- Accept contract renewal
- Decline contract renewal
- Negotiate contract renewal
- Place first request
- Feedback has been given for a sample
- 5 or more ingredients are created
- 2 or more products are created
type: string
description: '* `Mark samples as dispatched` - Mark Samples Dispatched
* `Reject samples request` - Reject Samples Request
* `Buyer marks samples as delivered` - Buyer Marks Samples Delivered
* `Order is marked as dispatched or Buyer marks order as delivered` - Order Marked As Dispatched Or Buyer Marks Order Delivered
* `Order has been delivered` - Order Delivered
* `Purchase Order is Accepted or Declined` - Purchase Order Accepted Or Declined
* `Clear Time to Order Action` - Clear Time To Order Action
* `Payment has been received` - Payment Received
* `Signed Agreement Uploaded` - Signed Agreement Uploaded
* `Purchase Order is placed` - Purchase Order Placed
* `Update quote or reject negotiation` - Update Quote Or Reject Negotiation
* `One or more ingredients are created` - Ingredients Created
* `One of more products are created` - Products Created
* `Samples are marked as received` - Samples Marked As Received
* `Marked as delivered` - Marked As Delivered
* `Quote for request or decline request` - Quote For Request Or Decline
* `Product list is uploaded` - Product List Uploaded
* `Respond to Request` - Respond To Request
* `Respond to negotiations` - Respond To Negotiations
* `Contract is created` - Contract Created
* `Buyer has created a request` - Buyer Created Request
* `Order or decline quote` - Order Or Decline Quote
* `Open contract details page` - Open Contract Details Page
* `Accept contract renewal` - Accept Contract Renewal
* `Decline contract renewal` - Decline Contract Renewal
* `Negotiate contract renewal` - Negotiate Contract Renewal
* `Place first request` - Place First Request
* `Feedback has been given for a sample` - Feedback Given For Sample
* `5 or more ingredients are created` - Upload Ingredient List
* `2 or more products are created` - Upload Product List'
Notification:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
title:
$ref: '#/components/schemas/TitleEnum'
description:
type: string
content:
type: string
created_at:
type: string
format: date-time
readOnly: true
read_at:
type:
- string
- 'null'
format: date-time
type:
$ref: '#/components/schemas/NotificationTypeEnum'
category:
$ref: '#/components/schemas/NotificationCategoryEnum'
priority:
type: integer
maximum: 2147483647
minimum: -2147483648
duration:
type:
- string
- 'null'
location:
type:
- string
- 'null'
maxLength: 255
receiver:
allOf:
- $ref: '#/components/schemas/ShortUser'
readOnly: true
sender:
allOf:
- $ref: '#/components/schemas/ShortUser'
readOnly: true
related_object_type:
type: string
readOnly: true
related_object_uuid:
type: string
readOnly: true
is_read:
type: string
readOnly: true
used_for:
$ref: '#/components/schemas/UsedForEnum'
action_type:
oneOf:
- $ref: '#/components/schemas/ActionTypeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
action_clear_trigger:
oneOf:
- $ref: '#/components/schemas/ActionClearTriggerEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
required:
- category
- content
- created_at
- description
- is_read
- receiver
- related_object_type
- related_object_uuid
- sender
- title
- type
- uuid
securitySchemes:
cookieAuth:
type: apiKey
in: cookie
name: sessionid
tokenAuth:
type: apiKey
in: header
name: Authorization
description: Token-based authentication with required prefix "Token"