Base URL
/api/v2.
Authentication
Every request requires anAuthorization: Bearer <token> header.
Content type
Request and response bodies are JSON. SendContent-Type: application/json on POST and PATCH.
Error envelope
Errors return a JSON object with adetail field:
detail. Each entry
has loc (an array of segments locating the offending field), msg,
type, and may include input, ctx, and url.
Async processing
Endpoints that submit work (/scan/deep, /scan/quick, /batch/deep,
/batch/quick) return immediately with a status of processing and an
estimated completion time. The final result is delivered either by
webhook to your callback_url or by polling
GET /api/v2/scans/{scan_id}.
Tenancy
Every request is scoped to the organization that owns the credential. You cannot read or list resources from another organization.Rate limits
Tumban enforces a per-organization daily scan limit when one is configured for your org. Scan-submission endpoints (Create scan, Create batch) return429 with a structured detail body when the limit is hit:
00:00 UTC. Create batch has
a partial-acceptance path — see its docs.
Tumban does not return X-RateLimit-* headers, and it does not
honour an Idempotency-Key header. Treat your scan_id (or per-profile
scan_ids in a batch) as the natural idempotency key in your own
handler.
