Skip to content
Last updated: 2026-04-06
Reference

Data Schemas

Reference documentation for Dxtra's GraphQL API types.

Related Documentation

Architecture: Platform OverviewData Flow Diagrams

API: GraphQL ReferenceFirst 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

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

GraphQL
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

GraphQL
mutation InsertRightsRequest($input: dataSubjectRightsRequests_insert_input!) {
  insertDataSubjectRightsRequest(object: $input) {
    id
    type
    status
    createdAt
  }
}

Query Processing Activities

GraphQL
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
    }