{
    "service": "sint-data",
    "version": "v1",
    "auth": "Bearer token (per-consumer, scoped read/write)",
    "write": [
        "POST /v1/subjects {name, domain?, industry?, hq_country?, employee_count?, external_ids?} -> {subject_id} (upsert by normalized name)",
        "POST /v1/jobs {subject_id, source_ref?, requested_by?, scope?} -> {job_id, revision}",
        "POST /v1/jobs/{job}/findings {findings:[{category,key,label?,value?,value_json?,persona?,confidence?,source_url?,weight?}]} -> upsert (supersedes prior same category+key)",
        "POST /v1/jobs/{job}/sources {sources:[{url,title?,publisher?,retrieved_at?,snippet?}]}",
        "POST /v1/jobs/{job}/org {nodes:[{ref,name,title?,department?,persona?,reports_to_ref?,is_decision_maker?}]}",
        "POST /v1/jobs/{job}/complete"
    ],
    "read": [
        "GET /v1/subjects?name=|domain= -> [subjects]",
        "GET /v1/subjects/{id} -> subject + counts",
        "GET /v1/subjects/{id}/findings?category=&status=active -> [findings]",
        "GET /v1/subjects/{id}/summary -> findings grouped by category",
        "GET /v1/subjects/{id}/org -> org tree"
    ]
}