Skip to main content

adaline.report API Reference

Complete REST API documentation for the Adaline Report compliance scanning service.

Base URL

https://api.adaline.report

Authentication

Requests are authenticated with an API key in the X-API-Key header:

X-API-Key: your-api-key

Contact us to obtain an API key.

Error Format

{
  "detail": "Error description"
}

HTTP status codes: 400 (validation), 401 (unauthorized), 404 (not found), 429 (rate limited), 500 (server error).


Scanning

POST /api/v1/scan

Upload a document for compliance scanning. Send as multipart/form-data.

FieldTypeRequired
filefileYes
tiersstringNo (default: "1")

Supported formats: PDF, DOCX, PPTX, HTML, Markdown, LaTeX.

# Scan a PDF document
curl -X POST https://api.adaline.report/api/v1/scan \
  -H "X-API-Key: your-api-key" \
  -F "file=@document.pdf"

# Scan with specific tiers
curl -X POST https://api.adaline.report/api/v1/scan \
  -H "X-API-Key: your-api-key" \
  -F "file=@document.pdf" \
  -F "tiers=1,2"

Returns:

{
  "report_id": "uuid",
  "overall_score": 87.5,
  "grade": "B",
  "compliant": false,
  "total_passed": 9,
  "total_checks": 12,
  "categories": { ... },
  "checks": [ ... ]
}

Reports

GET /api/v1/reports

List all reports. Supports pagination.

ParamTypeDefault
pagenumber1
page_sizenumber20
# List reports (first page)
curl https://api.adaline.report/api/v1/reports \
  -H "X-API-Key: your-api-key"

# List with pagination
curl "https://api.adaline.report/api/v1/reports?page=2&page_size=10" \
  -H "X-API-Key: your-api-key"

GET /api/v1/reports/:id

Get a specific report with full check details, category scores, and issue list.

curl https://api.adaline.report/api/v1/reports/REPORT_ID \
  -H "X-API-Key: your-api-key"

DELETE /api/v1/reports/:id

Delete a report.

curl -X DELETE https://api.adaline.report/api/v1/reports/REPORT_ID \
  -H "X-API-Key: your-api-key"

Report Sharing

POST /api/v1/reports/:id/share

Create a shareable link for a report.

Returns: { share_id, share_url }

# Create a share link
curl -X POST https://api.adaline.report/api/v1/reports/REPORT_ID/share \
  -H "X-API-Key: your-api-key"

GET /api/v1/shared/:share_id

View a shared report (no authentication required).

# View shared report (no auth needed)
curl https://api.adaline.report/api/v1/shared/SHARE_ID

Tags

GET /api/v1/tags

List all tags.

curl https://api.adaline.report/api/v1/tags \
  -H "X-API-Key: your-api-key"

POST /api/v1/tags

Create a tag.

FieldTypeRequired
namestringYes
colorstringNo
curl -X POST https://api.adaline.report/api/v1/tags \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "needs-review", "color": "red"}'

DELETE /api/v1/tags/:id

Delete a tag.

curl -X DELETE https://api.adaline.report/api/v1/tags/TAG_ID \
  -H "X-API-Key: your-api-key"

POST /api/v1/tags/:tag_id/reports/:report_id

Add a tag to a report.

curl -X POST https://api.adaline.report/api/v1/tags/TAG_ID/reports/REPORT_ID \
  -H "X-API-Key: your-api-key"

DELETE /api/v1/tags/:tag_id/reports/:report_id

Remove a tag from a report.

curl -X DELETE https://api.adaline.report/api/v1/tags/TAG_ID/reports/REPORT_ID \
  -H "X-API-Key: your-api-key"

Health

GET /health

Returns: { "status": "ok", "service": "adaline-report-api" }

curl https://api.adaline.report/health

GET /api/v1/status

Returns service status with database and storage connectivity.

curl https://api.adaline.report/api/v1/status

Compliance Checks

The scanner runs 12 checks across 6 weighted categories:

CategoryWeightChecks
Document Structure25%Language set, title set, headings present, heading hierarchy, list structure
Images & Media20%Image alt text, figure alt text, figure captions
Tables15%Table headers marked
Tagged PDF Structure15%PDF structure tags present
Forms10%Form field labels
Navigation5%Bookmarks for long documents

Grading Scale

GradeScore
A95 - 100%
B85 - 94%
C70 - 84%
D50 - 69%
FBelow 50%

A document is considered compliant at 95% or above (Grade A).

Severity Levels

  • Critical -- Must fix for compliance (e.g., missing alt text, no document language)
  • Major -- Significant accessibility barrier (e.g., skipped heading levels)
  • Minor -- Best practice improvement (e.g., untyped list)
© 2026 Adaline LLC