Sensitive Field Privacy Guard
API Contract
REST
/api/v1/field-suppressions
7 endpoints
GET
/api/v1/field-suppressions/api/v1/field-suppressions
List all active session-level field suppressions
Public
Response Example
{
"data": [
{
"id": "supp-001",
"field_id": "patient_ssn",
"session_id": "sess-abc123",
"suppressed_at": "2026-03-26T09:00:00Z",
"expires_at": null
},
{
"id": "supp-002",
"field_id": "credit_card_number",
"session_id": "sess-abc123",
"suppressed_at": "2026-03-26T09:15:00Z",
"expires_at": null
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/field-suppressions/api/v1/field-suppressions/:id
Get a specific session suppression record by ID
Public
Response Example
{
"id": "supp-001",
"field_id": "patient_ssn",
"session_id": "sess-abc123",
"suppressed_at": "2026-03-26T09:00:00Z",
"expires_at": null
}
POST
/api/v1/field-suppressions/api/v1/field-suppressions
Suppress a sensitive field for the current session
Public
Request Example
{
"field_id": "date_of_birth",
"session_id": "sess-abc123"
}
Response Example
{
"id": "supp-003",
"field_id": "date_of_birth",
"session_id": "sess-abc123",
"suppressed_at": "2026-03-26T11:20:00Z",
"expires_at": null
}
PUT
/api/v1/field-suppressions/api/v1/field-suppressions/:id
Update expiry or metadata on a session suppression
Public
Request Example
{
"expires_at": "2026-03-26T23:59:59Z"
}
Response Example
{
"id": "supp-003",
"field_id": "date_of_birth",
"session_id": "sess-abc123",
"suppressed_at": "2026-03-26T11:20:00Z",
"expires_at": "2026-03-26T23:59:59Z"
}
DELETE
/api/v1/field-suppressions/api/v1/field-suppressions/:id
Remove a specific session suppression record
Public
Response Example
{
"message": "Suppression supp-003 cleared successfully"
}
POST
/api/v1/field-suppressions/api/v1/field-suppressions/guard-check
Check whether a field is allowed or blocked for the requesting session
Public
Request Example
{
"field_id": "patient_ssn",
"session_id": "sess-abc123"
}
Response Example
{
"field_id": "patient_ssn",
"session_id": "sess-abc123",
"access": "blocked",
"reason": "field_suppressed_for_session",
"suppression_id": "supp-001"
}
DELETE
/api/v1/field-suppressions/api/v1/field-suppressions/session/:session_id
Clear all suppression records for a given session
Public
Response Example
{
"session_id": "sess-abc123",
"cleared_count": 2,
"message": "All suppressions for session sess-abc123 cleared"
}