Integration API (A2A)
Privacy & Data
Coverage-only assessments, PII minimization, and on-demand erasure — by construction, not by policy.
What every assessment payload can contain
| Field | Present |
|---|---|
| coverage_summary (sufficient / partial / insufficient) | Yes |
| gap_competencies[] | Yes |
| covered_count / total_count | Yes |
| highlights_count / lowlights_count | Yes (counts only, not content) |
| recording chunk references (expiring signed URLs) | Yes, if recording is enabled |
| score / rating / percentage | Never |
| recommendation / verdict / hire / decision / final_verdict | Never — actively blocked |
| emotion, sentiment, or affect signal | Never — not computed |
The egress guard checks for exactly these forbidden keys before any assessment payload leaves the service — a bug that accidentally added one of them would fail closed rather than leak silently:
const FORBIDDEN_KEYS = ['recommendation', 'verdict', 'hire', 'decision', 'final_verdict'];PII minimization
Use candidate_ref (your own opaque identifier) instead of candidate_name/candidate_email wherever your workflow allows it — Teamcast never requires a real name or email to run an interview, only *some* identifier to address the invite to.
On-demand erasure
DELETE /integration/interviews/:runId/candidate-data (or interview.rankings's sibling purge path) removes candidate PII in one transaction:
- Resume text, candidate name, and candidate email are nulled on the interview record
- Transcript and proctoring-event JSON are cleared
- Any dead-lettered webhook payloads for the interview (which can carry the same PII) are deleted
- A
CandidatePurgeLogentry records that the erasure happened, with your reason
curl -X DELETE https://devapi.teamcast.ai/api/v2/integration/interviews/run_.../candidate-data \
-H "X-API-Key: sk_live_..." -H "X-Tenant-ID: tnt_8a21b6" \
-d '{ "reason": "GDPR erasure request" }'
# → { "purged": true, "purged_at": "2026-07-05T09:12:03.000Z" }Multi-tenant isolation
Every lookup by runId is additionally scoped by the resolved tenantId — a platform key with a valid X-Tenant-ID cannot address another tenant's runs, and a cross-tenant runId returns a plain 404 rather than a 403 (no existence leak). See Architecture → Multi-tenancy.