Verifiable Alerts API
Endpoints to list and dismiss active alerts. Alerts are triggered when an important event occurs that warrants user involvement. An alert can be considered dismissed if it has a dismissal timestamp and note.
Endpoints to list and dismiss active alerts. Alerts are triggered when an important event occurs that warrants user involvement. An alert can be considered dismissed if it has a dismissal timestamp and note.
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/verifiable-alerts-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: Verifiable API Documentation Alerts API
description: '# Introduction
This document contains the official documentation for the latest version of the Verifiable API.'
version: 26.12.1.962
servers:
- url: https://discovery.verifiable.com/api
description: Production
- url: https://discovery-staging.verifiable.com/api
description: Staging
tags:
- name: Alerts
description: Endpoints to list and dismiss active alerts. Alerts are triggered when an important event occurs that warrants user involvement. An alert can be considered dismissed if it has a dismissal timestamp and note.
paths:
/alerts/{alertId}:
get:
tags:
- Alerts
summary: Get an existing alert
description: Returns the data for a specific alert.
operationId: GetAlert
parameters:
- name: alertId
in: path
description: Identifier of the alert to get the data for.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AlertModel'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'500':
description: Server Error
security:
- Bearer: []
/alerts/{alertId}/dismiss:
post:
tags:
- Alerts
summary: Dismiss an alert
description: Dismisses a specific alert.
operationId: DismissAlert
parameters:
- name: alertId
in: path
description: Identifier of the alert to dismiss.
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DismissRequestModel'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AlertModel'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Conflict
'500':
description: Server Error
security:
- Bearer: []
/alerts/aggregations:
get:
tags:
- Alerts
summary: Get alert aggregations
description: Returns aggregated counts for alerts either in active or dismissed state.
operationId: GetAlertAggregations
parameters:
- name: providerDeactivated
in: query
description: If set, the items will be filtered on providers with the specified deactivated status.
schema:
type: boolean
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AlertAggregationsModel'
'401':
description: Unauthorized
'403':
description: Forbidden
'500':
description: Server Error
security:
- Bearer: []
/alerts:
get:
tags:
- Alerts
summary: List alerts
description: Returns a page of alerts.
operationId: ListAlerts
parameters:
- name: providerId
in: query
description: If set, the items will be filtered on provider with the specified identifier.
schema:
type: string
format: uuid
- name: providerName
in: query
schema:
type: string
- name: providerNpi
in: query
schema:
type: integer
format: int64
- name: type
in: query
description: If set, the items will be filtered on alerts of the specified type
schema:
type: array
items:
enum:
- LicenseChanged
- LicenseExpiresSoon
- LicenseExpired
- ProfileImportCompleted
type: string
- name: status
in: query
description: If set, filter the items by the dismissal status.
schema:
enum:
- Active
- Dismissed
type: string
- name: sortDirection
in: query
description: The direction the returned data will be sorted by.
schema:
enum:
- Asc
- Desc
type: string
- name: providerDeactivated
in: query
description: If set, the items will be filtered on providers with the specified deactivated status.
schema:
type: boolean
- name: sortedBy
in: query
description: The property by which the returned data will be sorted.
schema:
enum:
- Timestamp
type: string
- name: sort
in: query
description: If set, the properties and directions the returned data will be sorted by.
schema:
type: object
properties:
Keys:
enum:
- Timestamp
type: string
Values:
enum:
- Asc
- Desc
type: string
- name: offset
in: query
description: The offset for the page to start.
deprecated: true
schema:
type: integer
format: int32
- name: cursor
in: query
description: The cursor to render the page requested. To load the first page send an empty cursor, then the system will generate the cursors to go to the next and/or previous pages automatically.
schema:
type: string
- name: count
in: query
description: The number of items to include in a single page.
schema:
type: integer
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AlertPageModel'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'500':
description: Server Error
security:
- Bearer: []
components:
schemas:
ProviderModel:
required:
- credentialingStatus
- firstName
- lastName
type: object
properties:
id:
type: string
description: Unique identifier associated with this provider.
format: uuid
firstName:
minLength: 1
type: string
description: The first (given) name associated with this provider.
lastName:
minLength: 1
type: string
description: The last (family) name associated with this provider.
dateOfBirth:
type: string
description: The date of birth of this provider.
format: date-time
ssn:
type: string
description: The social security number of this provider.
credentialingStatus:
minLength: 1
type: string
description: The name of credentialing status. The default value is 'Data Collection'.
credentialedDate:
type: string
description: Date this provider was originally credentialed
format: date-time
nextCredentialingDate:
type: string
description: Date this provider should be credentialed next
format: date
npi:
type: integer
description: The 10 digit National Provider Identifiers (NPI) of this provider.
format: int64
deactivated:
type: boolean
description: If set, the provider is deactivated. Verifications and profile imports can't be triggered for the inactive provider.
deactivatedAt:
type: string
format: date-time
aliases:
type: array
items:
$ref: '#/components/schemas/ProviderAliasModel'
description: A list of aliases that this provider is also known by.
primaryPracticeState:
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AS
- GU
- MP
- PR
- VI
type: string
description: The primary practice state of the provider.
additionalPracticeStates:
type: array
items:
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AS
- GU
- MP
- PR
- VI
type: string
description: Additional practice states of the provider. Cannot include the primary practice state.
gender:
enum:
- Unknown
- Male
- Female
- NonBinaryOrThirdGender
- Other
- PreferNotToSay
type: string
description: Provider's gender (optional).
ethnicity:
type: array
items:
enum:
- AmericanIndianOrAlaskaNative
- Asian
- BlackOrAfricanAmerican
- HispanicOrLatino
- NativeHawaiianOrOtherPacificIslander
- White
- PreferNotToSay
- NoInformationToAnswer
type: string
description: Provider's ethnicity (optional).
addresses:
type: array
items:
$ref: '#/components/schemas/ProviderAddressModel'
description: If set, the provider's `addresses` will be updated with this value. To remove the addresses pass an empty array.
emails:
type: array
items:
$ref: '#/components/schemas/ProviderEmailModel'
description: If set, the provider's `emails` will be updated with this value. To remove the emails pass an empty array.
phone:
type: string
description: Primary phone number associated with this provider
languages:
type: array
items:
type: string
description: A list of languages, other than English, this provider speaks.
recredentialedDates:
type: array
items:
type: string
format: date-time
description: A list of dates when this provider was re-credentialed.
providerType:
$ref: '#/components/schemas/ProviderTypeModel'
nuccGroup:
$ref: '#/components/schemas/TaxonomyGroupModel'
segment:
$ref: '#/components/schemas/SegmentModel'
createdAt:
type: string
description: Timestamp when this provider was created.
format: date-time
additionalProperties: false
AlertData:
type: object
properties:
messageTemplate:
type: string
description: An informative human readable message describing the action in the audit log entry.
messageParams:
type: object
additionalProperties:
type:
- string
- 'null'
description: Collection of key/value pairs containing parameters to be replaced in `messageTemplate`.
data:
type: object
additionalProperties:
type:
- string
- 'null'
additionalProperties: false
ProviderAliasModel:
type: object
properties:
firstName:
type: string
description: The first (given) name of this alias.
lastName:
type: string
description: The last (family) name of this alias.
id:
type: string
description: Unique identifier for this alias.
format: uuid
additionalProperties: false
TaxonomyGroupModel:
type: object
properties:
id:
type: string
description: Unique identifier for the taxonomy group.
format: uuid
name:
type: string
description: Name of the taxonomy group (e.g., "Allopathic & Osteopathic Physicians").
additionalProperties: false
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Allopathic & Osteopathic Physicians
AlertModel:
type: object
properties:
type:
enum:
- LicenseChanged
- LicenseExpiresSoon
- LicenseExpired
- ProfileImportCompleted
type: string
description: The type of event that led to this alert.
providerId:
type: string
description: Identifier of the provider related to this alert.
format: uuid
provider:
$ref: '#/components/schemas/ProviderModel'
entityType:
enum:
- License
- Verification
- Alert
- NpiRecord
- Note
- BoardCertification
- BoardCertificationVerification
- DeaVerification
- DatasetScan
- DatasetRecord
- File
- ProfileImport
- NpdbVerificationRequest
type: string
description: If set, the type of the entity that `EntityId` refers to.
entityId:
type: string
description: Identifier of the related entity that's relevant to this alert type.
format: uuid
data:
$ref: '#/components/schemas/AlertData'
timestamp:
type: string
description: The date and time when this alert was triggered.
format: date-time
dismissalTimestamp:
type: string
description: The date and time when this alert was dismissed, if at all.
format: date-time
dismissalNote:
type: string
description: The note supplied as reason for dismissal, if and when this alert was dismissed.
id:
type: string
description: Unique identifier for this alert.
format: uuid
additionalProperties: false
ProviderAddressModel:
required:
- addressLine1
- city
- state
- zipCode
type: object
properties:
state:
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AS
- GU
- MP
- PR
- VI
type: string
description: Abbreviation of the state in which the city is located.
zipCode:
minLength: 1
type: string
description: The postal code associated with the address.
city:
minLength: 1
type: string
description: The city in which the address is located.
addressLine1:
minLength: 1
type: string
description: The street address.
addressLine2:
type: string
description: The secondary address information.
type:
enum:
- Unspecified
- Home
- Work
type: string
description: The type of address.
id:
type: string
description: Unique identifier for this address.
format: uuid
additionalProperties: false
AlertPageModel:
type: object
properties:
sort:
type: object
properties:
Keys:
enum:
- Timestamp
type: string
Values:
enum:
- Asc
- Desc
type: string
description: The properties and directions the data is sorted by.
previousCursor:
type: string
description: The value to use for `cursor` to get to the previous paginated page. `null` will be returned if it's the first page.
nextCursor:
type: string
description: The value to use for `cursor` to get to the next paginated page. `null` will be returned if it's the last page.
nextOffset:
type: integer
description: The value to use for `offset` to get the next page following the current page or `null` if this page is the last.
format: int32
deprecated: true
pageSize:
type: integer
description: The maximum number of items included in this page.
format: int32
count:
type: integer
description: The number of items in this page.
format: int32
totalCount:
type: integer
description: The total number of items in all pages combined.
format: int32
items:
type: array
items:
$ref: '#/components/schemas/AlertModel'
description: The audit log entries in the current page.
sortedBy:
enum:
- Timestamp
type: string
description: The property by which the data is sorted.
sortDirection:
enum:
- Asc
- Desc
type: string
description: The direction in which the data is sorted.
additionalProperties: false
example:
previousCursor: string
nextCursor: string
nextOffset: 0
pageSize: 0
count: 0
totalCount: 0
items:
- type: LicenseChanged
providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
entityType: License
entityId: 156e622c-6cdf-4c27-9bc9-2f2db69919f5
data:
messageTemplate: string
messageParams:
property1: string
property2: string
data:
property1: string
property2: string
timestamp: '2019-08-24T14:15:22.0000000Z'
dismissalTimestamp: '2019-08-24T14:15:22.0000000Z'
dismissalNote: string
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
sortedBy: Timestamp
sortDirection: Asc
sort:
Timestamp: Asc
ProviderTypeModel:
type: object
properties:
id:
type: string
description: Unique identifier associated with this provider type.
format: uuid
name:
type: string
description: Associated provider type name.
additionalProperties: false
DismissRequestModel:
type: object
properties:
dismissalNote:
type: string
description: A note that explains why this alert was dismissed.
additionalProperties: false
SegmentModel:
type: object
properties:
id:
type: string
description: Unique identifier of the segment.
format: uuid
name:
type: string
description: Name of the segment. Used for multi-tenant organizations for billing, configuration, and tracking purposes.
additionalProperties: false
example:
id: 3516a6ba-c998-4bfb-9017-322f8cf63674
name: acme-corp
ProviderEmailModel:
type: object
properties:
email:
type: string
description: The email associated with the provider.
type:
enum:
- Unspecified
- Personal
- Work
type: string
description: The type of the email.
id:
type: string
description: Unique identifier for this specific email.
format: uuid
additionalProperties: false
AlertAggregationsModel:
type: object
properties:
active:
type: integer
description: The total number of active alerts.
format: int32
dismissed:
type: integer
description: The total number of dismissed alerts.
format: int32
licenseChanged:
type: integer
description: The total number of active `License Changed` alerts.
format: int32
licenseExpiresSoon:
type: integer
description: The total number of active `License Expires Soon` alerts.
format: int32
licenseExpired:
type: integer
description: The total number of active `License Expired` alerts.
format: int32
profileImportCompleted:
type: integer
description: The total number of active `Profile Import Completed` alerts.
format: int32
additionalProperties: false
securitySchemes:
Bearer:
type: http
description: 'Enter your bearer token in the format: Bearer {your token}'
scheme: bearer
bearerFormat: custom
x-tagGroups:
- name: Authentication
tags:
- Authentication
- name: Definitions
tags:
- Definitions
- name: Providers
tags:
- Providers
- ProvidersInfo
- ProviderProfiles
- Notes
- Files
- name: Facilities
tags:
- Facilities
- FacilitiesInfo
- FacilitiesSpecialties
- name: Verifications
tags:
- Licenses
- Datasets
- DEA
- BoardCertifications
- name: Monitoring
tags:
- Monitoring
- Alerts
- name: Credentialing
tags:
- CredentialingRequests
- name: Integrations
tags:
- Integrations
- Webhooks
- name: Audits
tags:
- Audit
- name: Account
tags:
- Users
- name: Organizations
tags:
- Reports
- name: Models
tags:
- Dataset Records
- Webhook Callbacks