Create Attestation
Trust Layer
Create Attestation
Create a new trust attestation for a subject
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.Parameters
The identity being attested to (ZKS ID or wallet address)
The attestation schema identifier
skill- Skill or expertise attestationrelationship- Relationship attestationachievement- Achievement attestationreputation- Reputation attestationidentity- Identity verification attestationcustom- Custom schema
Attestation data payload
Cryptographic signature of the attestation
ISO 8601 timestamp when attestation expires (optional)
Whether the attestation can be revoked (default: true)
Whether the attestation is publicly visible (default: true)
Tags for categorization and discovery
Response
Indicates if the attestation was created successfully
Unique identifier of the created attestation
Created attestation details
Attestation verification details
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:Related Endpoints
- Get Attestations - Retrieve attestations
- Revoke Attestation - Revoke an attestation
- Evaluate Policy - Evaluate trust policies
- Get Modules - Get available trust modules
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