ClinicalAuditAI Audits API
Audit generation and retrieval
Audit generation and retrieval
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-audits-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 Audits 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: Audits
description: Audit generation and retrieval
paths:
/audits:
post:
tags:
- Audits
summary: Create a clinical audit
operationId: createAudit
description: 'Generates an audit from the supplied source data.
The API may also generate a private PDF and return a temporary signed
PDF URL. Email delivery can use the client''s saved notification
configuration or be explicitly requested in the request body.
Webhook delivery can be requested with webhook_url or use the client''s
saved webhook configuration.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAuditRequest'
examples:
basic:
summary: Basic audit
value:
data: Review informed consent documentation and protocol compliance.
withEmail:
summary: Audit with email notification
value:
data: Review informed consent documentation and protocol compliance.
email: compliance@example.com
notify: true
withWebhook:
summary: Audit with webhook notification
value:
data: Review informed consent documentation and protocol compliance.
webhook_url: https://client.example.com/webhooks/clinicalauditai
responses:
'200':
description: Audit generated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAuditResponse'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Server or audit-generation error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/audits/{audit_id}:
get:
tags:
- Audits
summary: Retrieve an audit
operationId: getAudit
description: 'Retrieves an audit belonging to the authenticated client.
Client API keys are tenant-scoped. A client cannot retrieve another
client''s audit. A temporary signed PDF URL is generated when a PDF
exists, with a 3600-second expiry.'
parameters:
- name: audit_id
in: path
required: true
description: UUID of the audit
schema:
type: string
format: uuid
responses:
'200':
description: Audit retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetAuditResponse'
'400':
description: Invalid audit ID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Audit not found or not owned by the authenticated client
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
GetAuditResponse:
type: object
required:
- audit_id
- status
- created_at
- completed_at
- result
- pdf_status
- pdf_url
- pdf_url_expires_in
- email_status
- webhook_status
properties:
audit_id:
type: string
format: uuid
status:
type: string
created_at:
type: string
format: date-time
completed_at:
type: string
format: date-time
result:
type: string
pdf_status:
type: string
pdf_url:
type:
- string
- 'null'
format: uri
pdf_url_expires_in:
type:
- integer
- 'null'
example: 3600
email_status:
type: string
enum:
- pending
- sent
- failed
- not_requested
webhook_status:
type: string
enum:
- pending
- sent
- failed
- not_requested
CreateAuditResponse:
type: object
required:
- audit_id
- status
- created_at
- completed_at
- result
- pdf_status
- pdf_url
- pdf_url_expires_in
- email_status
- webhook_status
properties:
audit_id:
type: string
format: uuid
example: b9e24f03-5f08-44b8-bc60-a35fb44105d8
status:
type: string
example: completed
created_at:
type: string
format: date-time
completed_at:
type: string
format: date-time
result:
type: string
description: Generated audit report text.
pdf_status:
type: string
enum:
- generated
- failed
pdf_url:
type:
- string
- 'null'
format: uri
description: Temporary signed URL for the private PDF.
pdf_url_expires_in:
type:
- integer
- 'null'
example: 3600
email_status:
type: string
enum:
- pending
- sent
- failed
- not_requested
webhook_status:
type: string
enum:
- pending
- sent
- failed
- not_requested
authentication:
type: object
properties:
type:
type: string
enum:
- client
- master
CreateAuditRequest:
type: object
required:
- data
properties:
data:
type: string
description: Source data to be analyzed by the ClinicalAuditAI API audit engine.
minLength: 1
maxLength: 12000
example: Review informed consent documentation and protocol compliance.
email:
type: string
format: email
description: Optional email recipient. When omitted, the saved client notification email may be used.
example: compliance@example.com
notify:
type: boolean
description: Whether email notification should be sent. When omitted, the client's saved preference may be used.
default: false
webhook_url:
type: string
format: uri
description: Optional webhook URL. When omitted, a saved client webhook configuration may be used.
example: https://client.example.com/webhooks/clinicalauditai
ErrorResponse:
type: object
required:
- error
properties:
error:
type: string
audit_id:
type:
- string
- 'null'
format: uuid
details:
type:
- string
- 'null'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: ClinicalAuditAI client API key