Skip to content
Kritano Docs
Menu

Audits

Start an audit

POST/api/v1/audits

Needs the audits:write scope. About scopes

Starts an audit of one of your sites, by siteId or by url. A url on a domain you haven't added adds it as a site (within your plan's site limit). The audit runs in the background: poll GET /audits/{id} until status is completed, failed or cancelled.

Request body

JSON: a CreateAudit object.

Responses

StatusMeaningBody
201Created Audit
400The request isn't valid (invalid_request, invalid_body) Error
401No key, or the key is invalid, expired or revoked (key_required, key_invalid) Error
403The key lacks a scope, or the plan doesn't allow it (missing_scope, plan_no_api, plan_limit) Error
404Not found, or not yours (not_found) Error
409The site already has an audit running, or the audit has finished (audit_running, audit_finished) Error
422The site isn't verified and consent wasn't given (consent_required) Error
429Over the rate limit (rate_limited, rate_limited_daily) Error

Examples

curl

curl -X POST "https://app.kritano.com/api/v1/audits" \
  -H "Authorization: Bearer $KRITANO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "consent": true,
  "url": "https://example.com/"
}'

JavaScript

const res = await fetch("https://app.kritano.com/api/v1/audits", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KRITANO_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "consent": true,
    "url": "https://example.com/"
  }),
});
const data = await res.json();

Python

import os
import requests

res = requests.post(
    "https://app.kritano.com/api/v1/audits",
    headers={"Authorization": f"Bearer {os.environ['KRITANO_API_KEY']}"},
    json={
      "consent": True,
      "url": "https://example.com/"
    },
)
res.raise_for_status()
data = res.json()

Go

body := strings.NewReader(`{
  "consent": true,
  "url": "https://example.com/"
}`)
req, _ := http.NewRequest("POST", "https://app.kritano.com/api/v1/audits", body)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("KRITANO_API_KEY"))
res, err := http.DefaultClient.Do(req)