# AssetProvenance

> Type in domain **Assets**

- HTML: [AssetProvenance.html](AssetProvenance.html)
- Raw SDL: [AssetProvenance.sdl](AssetProvenance.sdl)
- Covered by: [llms.txt](../llms.txt)

## Fields

- `state`: `AssetProvenanceState!` _(beta)_ — Whether a credential was found, absent, could not be read, is still being extracted, or cannot be extracted for this file.
- `contentOrigin`: `AssetProvenanceContentOrigin` _(beta)_ — How the content was generated, derived from the credential's declared source types.
- `certStatus`: `AssetProvenanceCertStatus` _(beta)_ — Whether the credential itself could be confirmed.
- `certSubject`: `String` _(beta)_ — Organization the signing certificate was issued to, as its subject.
- `generatorName`: `String` _(beta)_ — Name of the software that generated the content, as the credential declares it.
- `generatorVersion`: `String` _(beta)_ — Version of the generating software, as the credential declares it.
- `certIssuer`: `String` _(beta)_ — Issuer of the signing certificate.
- `certIssuedAt`: `DateTime` _(beta)_ — When the signing certificate was issued.
- `certExpiresAt`: `DateTime` _(beta)_ — When the signing certificate expires.

## Reach via

Example queries that can return this type from the root `Query`.

### `assets › provenance`

```graphql
query AssetsProvenance {
  assets(ids: "…") {
    provenance {
      __typename
      certExpiresAt
      certIssuedAt
      certIssuer
      certStatus
      certSubject
      contentOrigin
      generatorName
      generatorVersion
      state
    }
  }
}
```

Raw: [`AssetsProvenance.sdl`](../examples/AssetsProvenance.sdl)

### `asset › provenance`

```graphql
query AssetProvenance {
  asset(id: "…") {
    provenance {
      __typename
      certExpiresAt
      certIssuedAt
      certIssuer
      certStatus
      certSubject
      contentOrigin
      generatorName
      generatorVersion
      state
    }
  }
}
```

Raw: [`AssetProvenance.sdl`](../examples/AssetProvenance.sdl)
