Skip to main content
POST
Create Attestation

Overview

Create a new trust attestation that provides verifiable proof of a relationship, skill, or attribute. This endpoint allows users to issue attestations that can be used for trust scoring, reputation building, and identity verification.
Use this endpoint to create verifiable attestations that can be used for trust scoring, reputation systems, and identity verification. Attestations are cryptographically signed and immutable.

Parameters

string
required
The identity being attested to (ZKS ID or wallet address)
string
required
The attestation schema identifier
  • skill - Skill or expertise attestation
  • relationship - Relationship attestation
  • achievement - Achievement attestation
  • reputation - Reputation attestation
  • identity - Identity verification attestation
  • custom - Custom schema
object
required
Attestation data payload
string
required
Cryptographic signature of the attestation
string
ISO 8601 timestamp when attestation expires (optional)
boolean
Whether the attestation can be revoked (default: true)
boolean
Whether the attestation is publicly visible (default: true)
array
Tags for categorization and discovery

Response

boolean
Indicates if the attestation was created successfully
string
Unique identifier of the created attestation
object
Created attestation details
object
Attestation verification details
string
ISO 8601 timestamp of the response

Examples

Response Example

Use Cases

1. Skill Attestation System

Create a skill attestation system:

2. Relationship Attestation

Create relationship attestations:

3. Achievement Attestation

Create achievement attestations:

4. Batch Attestation Creation

Create multiple attestations at once:

5. Attestation Templates

Use predefined templates:

Best Practices

1. Signature Verification

Always verify signatures before creating attestations:

2. Evidence Validation

Validate evidence before creating attestations:

3. Expiry Management

Handle attestation expiry:

4. Privacy Controls

Implement privacy controls:

Troubleshooting

”Invalid signature”

Cause: The signature doesn’t match the attestation data. Solution:
  • Verify the signature is correctly generated
  • Ensure the message being signed matches the attestation data
  • Check that the correct private key is being used

”Invalid schema”

Cause: Unsupported schema identifier. Solution:
  • Use supported schemas: skill, relationship, achievement, reputation, identity, custom
  • Check for typos in the schema name

”Missing required fields”

Cause: Required fields are missing from the attestation data. Solution:
  • Include all required fields for the schema
  • Check the schema documentation for required fields
  • Validate the data structure before submission

”Attestation already exists”

Cause: An identical attestation already exists. Solution:
  • Check if the attestation already exists
  • Modify the attestation data to make it unique
  • Consider updating the existing attestation instead

Rate Limits

Attestation creation requests are subject to rate limits:
  • Free tier: 10 attestations per minute
  • Starter tier: 50 attestations per minute
  • Professional tier: 200 attestations per minute
  • Enterprise tier: Custom limits
Implement queuing for batch attestation creation to avoid rate limits.