> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heychocolate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DigitalProductPassport

> The DPP type represents an EU-compliant Digital Product Passport.

## DigitalProductPassport type

```graphql theme={null}
type DigitalProductPassport {
  id: ID!
  productId: ID!
  product: Product!
  publicUrl: String!
  qrCodeUrl: String
  status: DppStatus!
  locale: String!
  sections: [DppSection!]!
  auditTrail: [AuditEntry!]!
  createdAt: DateTime!
  updatedAt: DateTime!
  expiresAt: DateTime
}

type DppSection {
  name: String!
  fields: [DppField!]!
}

type DppField {
  key: String!
  value: String!
  unit: String
}

enum DppStatus {
  DRAFT
  ACTIVE
  EXPIRED
  REVOKED
}
```

## Fields

| Field        | Type            | Description                     |
| ------------ | --------------- | ------------------------------- |
| `id`         | ID!             | Unique DPP identifier           |
| `productId`  | ID!             | Associated product              |
| `publicUrl`  | String!         | Public URL for the passport     |
| `qrCodeUrl`  | String          | URL to the QR code image (SVG)  |
| `status`     | DppStatus!      | Current status                  |
| `locale`     | String!         | Language/locale of the passport |
| `sections`   | \[DppSection!]! | Structured data sections        |
| `auditTrail` | \[AuditEntry!]! | Immutable change log            |

## Example query

```graphql theme={null}
query {
  dpp(id: "dpp_xyz789") {
    id
    publicUrl
    qrCodeUrl
    status
    product { id name }
    sections {
      name
      fields { key value unit }
    }
    auditTrail {
      timestamp
      action
      actor
    }
  }
}
```

For generating DPPs, see the [DPP Guide](/compliance/dpp).
