Skip to main content
POST
Protect Content (Consumer Mint)
Mint a cryptographic attestation for a piece of content you want to protect. Your personal issuer and signing key are resolved automatically — you do not need to create an issuer or register a key. Hash your content client-side with SHA-256 and submit the hash along with file metadata. The endpoint returns a protection record with a shareable proof URL you can use to demonstrate authorship. Rate limits depend on your plan tier: The response includes content_hash and protected_at so you can confirm which content was protected and the exact timestamp without making a follow-up call.

Parameters

string
required
SHA-256 hash of the file content, computed client-side before upload.
string
Human-readable title for the protection (e.g. the file name or a short description).
string
Optional description providing additional context about the protected content.
string
MIME type of the content (e.g. image/png, application/pdf, text/x-python).
string
Original file name including extension.
integer
File size in bytes.
string
Content category. One of code, research, design, media, dataset, ai-output, writing, digital-art, or other. Defaults to other.
object
Optional AI-extracted metadata object (e.g. from the AI metadata extraction flow).
string
Controls whether the protection appears on your public portfolio. Either public or private. Defaults to private.

Responses

Authorizations

X-API-Key
string
header
required

API key for machine-to-machine authentication

Body

application/json
content_hash
string
required

SHA-256 hash of the file content, computed client-side.

title
string

Human-readable title for the protection.

description
string

Optional description of the protected content.

content_type
string

MIME type of the content (e.g. image/png).

file_name
string

Original file name including extension.

file_size
integer

File size in bytes.

category
enum<string>

Content category. Defaults to other.

Available options:
code,
research,
design,
media,
dataset,
ai-output,
writing,
digital-art,
other
ai_metadata
object

Optional AI-extracted metadata object.

visibility
enum<string>

Whether the protection appears on your public portfolio. Defaults to private.

Available options:
public,
private

Response

Content protected

protection_id
string<uuid>
attestation_id
string<uuid>
verify_url
string<uri>
share_url
string<uri>
content_hash
string

SHA-256 hash echoed back from the request.

protected_at
string<date-time>

Timestamp when the content was protected (RFC 3339).

status
enum<string>
Available options:
protected