Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Content Provenance Checks

Create content provenance check
POST/content_provenance_checks
ModelsExpand Collapse
ContentProvenanceCheck object { created_at, object, results }
created_at: number

The Unix timestamp, in seconds, when the provenance check was created.

formatunixtime
object: "content_provenance_check"

The object type. Always content_provenance_check for this endpoint.

results: array of object { generated_at, issuer, model, 3 more } or object { generated_at, model, outcome, type }

The provenance results that apply to the uploaded file. Image results include C2PA and SynthID; audio results include SynthID.

One of the following:
C2PA object { generated_at, issuer, model, 3 more }
generated_at: string or null

The UTC RFC 3339 timestamp recorded by the provenance signal for when the asset was generated, when available.

issuer: string or null

The C2PA manifest issuer, when available.

model: string or null

The OpenAI model recorded by the provenance signal, when available.

outcome: "detected" or "not_detected"

Whether a supported OpenAI C2PA provenance signal was detected. If not_detected, it means the tool did not find supported signals in the uploaded file. The content could still have been generated by OpenAI if the metadata was stripped or has evidence of tampering, the watermark was degraded, it comes from a legacy generation model, or it was created before provenance signals were available. Content could also still be AI-generated by another company’s model, which the tool currently does not detect.

One of the following:
"detected"
"not_detected"
type: "c2pa"

The provenance signal type. Always c2pa.

validation_state: "trusted" or "valid" or "invalid" or "not_present"

The validation status of the C2PA manifest in the uploaded image.

One of the following:
"trusted"
"valid"
"invalid"
"not_present"
SynthID object { generated_at, model, outcome, type }
generated_at: string or null

The UTC RFC 3339 timestamp recorded by the provenance signal for when the asset was generated, when available.

model: string or null

The OpenAI model recorded by the provenance signal, when available.

outcome: "detected" or "not_detected"

Whether a supported OpenAI SynthID watermark was detected. If not_detected, it means the tool did not find supported signals in the uploaded file. The content could still have been generated by OpenAI if the metadata was stripped or has evidence of tampering, the watermark was degraded, it comes from a legacy generation model, or it was created before provenance signals were available. Content could also still be AI-generated by another company’s model, which the tool currently does not detect.

One of the following:
"detected"
"not_detected"
type: "synthid"

The provenance signal type. Always synthid.