Data Schemas¶
Reference documentation for Dxtra's GraphQL API types.
Related Documentation
Architecture: Platform Overview • Data Flow Diagrams
API: GraphQL Reference • First Request
API Overview¶
Dxtra provides a GraphQL API for accessing privacy compliance data. All data operations go through this API with role-based access control.
graph LR
subgraph "Your Application"
Client[Your App]
end
subgraph "Dxtra API"
GraphQL[GraphQL API<br/>api.dxtra.ai]
Auth[Authentication]
end
Client -->|Query/Mutation| GraphQL
Client -->|JWT| Auth Core Data Types¶
Data Controllers¶
Organizations using the Dxtra platform.
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
title | String | Organization name |
did | String | Decentralized identifier |
createdAt | DateTime | Creation timestamp |
updatedAt | DateTime | Last update |
Relationships: - users - Team members - dataSubjects - Customer privacy profiles - purposes - Processing purposes - privacyNotices - Privacy policy documents
Data Subjects¶
Customer privacy profiles managed by data controllers.
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
did | String | Decentralized identifier |
doNotTrack | Boolean | Browser DNT signal |
globalPrivacyControl | Boolean | GPC signal |
createdAt | DateTime | Creation timestamp |
updatedAt | DateTime | Last update |
Relationships: - dataController - Parent organization - dataProcessingActivities - Processing event log - rightsRequests - GDPR/CCPA requests - consentFormValues - Consent preferences
Data Processing Activities¶
Audit log of data processing events for compliance reporting.
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
triggeredAt | DateTime | When processing occurred |
createdAt | DateTime | Record creation |
fields | [String] | Types of data processed |
source | Object | Data source information |
type | Object | Activity type |
Rights Requests¶
GDPR/CCPA data subject rights requests.
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
type | Enum | access, deletion, rectification, portability, objection |
status | String | pending, processing, completed, rejected |
notes | String | Request details |
createdAt | DateTime | Request submission |
updatedAt | DateTime | Last status change |
Consent Form Values¶
Recorded consent preferences per data subject.
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
values | JSON | Preference key-value pairs |
createdAt | DateTime | When consent was given |
GraphQL Examples¶
Query Data Subject¶
query GetDataSubject($id: uuid!) {
dataSubject(id: $id) {
id
did
doNotTrack
globalPrivacyControl
createdAt
dataProcessingActivities {
id
triggeredAt
fields
source {
name
}
type {
name
}
}
rightsRequests {
id
type
status
createdAt
}
}
}
Insert Rights Request¶
mutation InsertRightsRequest($input: dataSubjectRightsRequests_insert_input!) {
insertDataSubjectRightsRequest(object: $input) {
id
type
status
createdAt
}
}
Query Processing Activities¶
query GetActivities($dataSubjectId: uuid!) {
dataProcessingActivities(
where: { dataSubjectId: { _eq: $dataSubjectId } }
order_by: { triggeredAt: desc }
limit: 50
) {
id
triggeredAt
fields
source {
name
}
}
}
API Access Roles¶
| Role | Access Level |
|---|---|
user | Full CRUD on owned data controllers |
dataSubject | Read own data, update preferences |
anonymous | Read public data, submit rights requests |
Specify the role using the X-Hasura-Role header in API requests.
Schema Relationships¶
erDiagram
DataController ||--o{ DataSubject : "has many"
DataController ||--o{ Purpose : "has many"
DataController ||--o{ PrivacyNotice : "has many"
DataSubject ||--o{ ProcessingActivity : "has many"
DataSubject ||--o{ RightsRequest : "has many"
DataSubject ||--o{ ConsentFormValue : "has many"
DataController {
uuid id
string title
string did
}
DataSubject {
uuid id
string did
boolean doNotTrack
}
ProcessingActivity {
uuid id
datetime triggeredAt
}
RightsRequest {
uuid id
enum type
string status
} Related Documentation¶
- Platform Overview - Architecture overview
- GraphQL API - API documentation
- Authentication - API access setup