ClinicalAuditAI Client Settings API
Client notification and webhook configuration
Client notification and webhook configuration
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/clinicalauditai:clinicalauditai-client-settings-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: ClinicalAuditAI Client Settings API
version: 1.0.0
description: 'ClinicalAuditAI API for generating structured clinical audit reports,
private PDF reports, email notifications, and signed webhook notifications.
Authentication uses the X-API-Key header.'
servers:
- url: http://127.0.0.1:5000/api/v1
description: Local development
- url: https://clinicalauditai.com/api/v1
description: Production API
security:
- ApiKeyAuth: []
tags:
- name: Client Settings
description: Client notification and webhook configuration
paths:
/client/notifications:
get:
tags:
- Client Settings
summary: Get notification settings
operationId: getClientNotifications
description: 'Retrieves the saved notification settings for the authenticated
client.
This endpoint is available only to client API keys. The master API
key cannot use client self-service settings.
The response contains the saved notification email and whether
automatic email notifications are enabled.'
responses:
'200':
description: Notification settings retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientNotificationSettings'
example:
notification_email: contact@example.com
notify_email: true
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Client API key required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Server configuration error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
patch:
tags:
- Client Settings
summary: Update notification settings
operationId: updateClientNotifications
description: 'Updates the saved notification settings for the authenticated client.
Supported fields are notification_email and notify_email.
notification_email may be set to null to remove the saved email
address. notify_email must be a boolean.
This endpoint is available only to client API keys. The master API
key cannot use client self-service settings.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClientNotificationSettings'
examples:
enable:
summary: Enable notifications
value:
notification_email: compliance@example.com
notify_email: true
disable:
summary: Disable notifications
value:
notify_email: false
clearEmail:
summary: Remove saved notification email
value:
notification_email: null
responses:
'200':
description: Notification settings updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientNotificationUpdateResponse'
'400':
description: Invalid notification settings
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Client API key required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Failed to update notification settings
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/client/webhook:
get:
tags:
- Client Settings
summary: Get webhook settings
operationId: getClientWebhook
description: 'Retrieves the saved webhook configuration for the authenticated
client.
The webhook signing secret is never returned by this endpoint.
This endpoint is available only to client API keys. The master API
key cannot use client self-service settings.'
responses:
'200':
description: Webhook settings retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientWebhookSettings'
example:
webhook_url: https://client.example.com/webhooks/clinicalauditai
webhook_configured: true
webhook_secret_configured: true
webhook_secret: null
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Client API key required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Failed to retrieve webhook settings
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
patch:
tags:
- Client Settings
summary: Update webhook settings
operationId: updateClientWebhook
description: 'Updates the saved webhook configuration for the authenticated client.
webhook_url may be changed to an HTTP or HTTPS URL. Setting
webhook_url to null disables the webhook and removes the stored
signing material.
Set rotate_secret to true to generate a new webhook signing secret.
When a new webhook secret is generated, the plaintext secret is
returned only in that immediate response. Save it securely because
it will not be returned again.
Changing only the webhook URL does not rotate an existing signing
secret.
This endpoint is available only to client API keys. The master API
key cannot use client self-service settings.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClientWebhookSettings'
examples:
changeUrl:
summary: Change webhook URL
value:
webhook_url: https://client.example.com/webhooks/clinicalauditai
rotateSecret:
summary: Rotate signing secret
value:
rotate_secret: true
disable:
summary: Disable webhook
value:
webhook_url: null
responses:
'200':
description: Webhook settings updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientWebhookUpdateResponse'
examples:
urlChanged:
summary: Webhook URL changed without secret rotation
value:
success: true
webhook_url: https://client.example.com/webhooks/clinicalauditai
webhook_configured: true
webhook_secret_configured: true
webhook_secret: null
secret_rotated: false
secretRotated:
summary: New signing secret generated
value:
success: true
webhook_url: https://client.example.com/webhooks/clinicalauditai
webhook_configured: true
webhook_secret_configured: true
webhook_secret: ca_webhook_secret_returned_once
secret_rotated: true
warning: Save the webhook secret now. It will not be returned again.
disabled:
summary: Webhook disabled
value:
success: true
webhook_url: null
webhook_configured: false
webhook_secret_configured: false
webhook_secret: null
secret_rotated: false
'400':
description: Invalid webhook settings
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Client API key required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Failed to update webhook settings
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ClientNotificationUpdateResponse:
type: object
required:
- success
- notification_email
- notify_email
properties:
success:
type: boolean
example: true
notification_email:
type:
- string
- 'null'
format: email
notify_email:
type: boolean
UpdateClientNotificationSettings:
type: object
properties:
notification_email:
type:
- string
- 'null'
format: email
description: Email address to use for notifications. Set to null to clear it.
notify_email:
type: boolean
description: Enable or disable saved email notifications.
additionalProperties: false
ErrorResponse:
type: object
required:
- error
properties:
error:
type: string
audit_id:
type:
- string
- 'null'
format: uuid
details:
type:
- string
- 'null'
ClientWebhookSettings:
type: object
required:
- webhook_url
- webhook_configured
- webhook_secret_configured
- webhook_secret
properties:
webhook_url:
type:
- string
- 'null'
format: uri
description: Saved webhook endpoint.
webhook_configured:
type: boolean
description: Whether a webhook URL is configured.
webhook_secret_configured:
type: boolean
description: Whether a webhook signing secret is configured.
webhook_secret:
type:
- string
- 'null'
description: Always null when retrieving existing webhook settings. Secrets are never returned by GET.
ClientWebhookUpdateResponse:
type: object
required:
- success
- webhook_url
- webhook_configured
- webhook_secret_configured
- webhook_secret
- secret_rotated
properties:
success:
type: boolean
example: true
webhook_url:
type:
- string
- 'null'
format: uri
webhook_configured:
type: boolean
webhook_secret_configured:
type: boolean
webhook_secret:
type:
- string
- 'null'
description: 'Plaintext webhook signing secret. Returned only when a secret is
newly generated or rotated. Save it securely because it will not
be returned again.
'
secret_rotated:
type: boolean
description: Whether a new signing secret was generated.
warning:
type:
- string
- 'null'
example: Save the webhook secret now. It will not be returned again.
UpdateClientWebhookSettings:
type: object
properties:
webhook_url:
type:
- string
- 'null'
format: uri
description: HTTP or HTTPS webhook URL. Set to null to disable the webhook.
rotate_secret:
type: boolean
description: Generate a new webhook signing secret.
default: false
additionalProperties: false
ClientNotificationSettings:
type: object
required:
- notification_email
- notify_email
properties:
notification_email:
type:
- string
- 'null'
format: email
description: Saved email address used for client notifications.
notify_email:
type: boolean
description: Whether saved email notifications are enabled.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: ClinicalAuditAI client API key