API Endpoints
POST /attestations/verify
Upload and verify an SGX or TDX attestation quote. Supported Input Formats:- File Upload (multipart/form-data) - Recommended for most use cases
- Hex String JSON (application/json) - For programmatic integration
- Hex String Form Data (application/x-www-form-urlencoded) - For simple form submissions
- Valid Intel SGX DCAP or TDX quote (2-8KB typical size)
- Complete certificate chains included
- ECDSA-P256 signature format
- Generated from genuine Intel SGX/TDX platform
Hex String Notes:
- Optional
0xprefix supported - Case insensitive
- Whitespace automatically trimmed
Error Responses:
Error Responses:
GET /attestations/view/
Retrieve complete quote details including header, body, and verification status. Path Parameters:checksum(string): Quote’s unique SHA256 identifier
- 404 Not Found: Quote with specified checksum doesn’t exist
GET /attestations/collateral/
Get cryptographic collateral (certificates, CRLs, TCB info) used for verification. Response Headers:Cache-Control: public, max-age=86400(24 hour cache)ETag: "{checksum}"(for conditional requests)
Cache-Control: public, max-age=86400CDN-Cache-Control: public, max-age=86400Vary: Accept-EncodingETag: "9540fda5e6416c9d02bae726b146be58bee3caccfe7f874dbc68c808a13b1139"
- 404 Not Found: Quote with specified checksum doesn’t exist
- 400 Bad Request: Unable to retrieve collateral data
GET /attestations/raw/
Download original binary quote data. Response:Content-Type: application/octet-streamContent-Disposition: attachment; filename={checksum}.binContent-Length: {size}(typically 2-8KB)
HEAD /attestations/raw/
Check quote existence and size without downloading.GET /attestations/recent
List recently uploaded quotes with pagination. Query Parameters:skip(integer): Records to skip (default: 0)limit(integer): Maximum records to return (default: 20)
Data Models
Quote
QuoteHeader
QuoteBody
Core attestation measurements and platform data.Complete Sample Data
Complete Sample Data
Critical Fields for Verification:
mrtd: Trust domain fingerprint - must match expected valuertmr0-3: Software measurements - verify boot chain and application integrityreportdata: Challenge-response data - must contain expected nonce/responsetee_tcb_svn: Platform security level - check against known vulnerabilities
QuoteCollateralV3
Cryptographic verification data from Intel PCS.Sample Data
Sample Data
Usage Notes:
- Certificate Chains: Used to validate signatures back to Intel root certificates
- CRL Data: Check for revoked certificates and compromised platforms
- TCB Info: Contains platform security version info and vulnerability advisories
- QE Identity: Validates the Quoting Enclave that signed the quote
- Signatures: All signatures use ECDSA-P256 and must be validated against certificate chains
Verification Process
- Parse - Extract header, body, and certificates from binary quote
- Platform Check - Verify quote from genuine Intel SGX/TDX platform
- TCB Validation - Check platform firmware is current and not revoked
- Signature Verification - Validate using Intel-provided certificates
- Storage - Cache results and collateral for future access
Integration Patterns
Basic Verification Workflow
Binary File Upload:Error Handling Best Practices
Input Format Issues:- 422 Unprocessable Entity: Wrong file format, corrupted data, or invalid hex
- 400 Bad Request: Missing input, invalid hex characters, or format conflicts
- 400 Verification Failed: Platform may be development/non-genuine
- 404 Not Found: Invalid checksum or quote not uploaded
- 500 Server Error: Retry after delay, Intel PCS may be unavailable
Cache Policy
- Quote collateral is cached for 24 hours to improve performance
- Raw quote data and verification results are stored permanently
- ETags are provided for efficient client-side caching
Security Notes
- All quotes are publicly accessible by checksum
- Always validate
reportdatacontains expected nonces/challenges - Check
verified: truebefore trusting quote contents - Verification depends on Intel’s Provisioning Certification Service
Need help getting started? Check out our quick start guide for a 5-minute walkthrough.

