Core API

Verify

Verify the cryptographic integrity and certification status of a sealed .ddna envelope. Returns the verification result, certification level, and signer information.

POST/v1/verifyscope: verify

Overview

The Verify endpoint validates sealed .ddna envelopes using W3C Data Integrity Proofs. It checks cryptographic signatures, schema validity, and governance completeness to determine the certification level of the artifact.

Certification Levels

  • basic: Signature valid, provenance intact
  • standard: basic + consent attested + governance complete
  • full: standard + non-biometric confirmation

Security: Verification uses the eddsa-jcs-2022 cryptosuite with JSON Canonicalization Scheme (JCS) for deterministic serialization.

Request Body

FieldTypeRequiredDescription
envelopeobjectrequiredA sealed .ddna envelope containing the artifact and cryptographic proof.

Example Request

curl -X POST https://www.deepadata.com/api/v1/verify \
  -H "Authorization: Bearer dda_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envelope": {
      "ddna_header": {
        "version": "0.5.0",
        "issuance": { "pathway": "subject", "timestamp": "2026-02-24T10:30:00Z" }
      },
      "edm_payload": { /* sealed artifact */ },
      "proof": {
        "type": "DataIntegrityProof",
        "cryptosuite": "eddsa-jcs-2022",
        "verificationMethod": "did:key:z6Mk...",
        "proofValue": "z3..."
      }
    }
  }'

Example Response (Verified)

{
  "success": true,
  "data": {
    "verified": true,
    "certification": {
      "level": "full",
      "checks": {
        "schema_valid": true,
        "provenance_intact": true,
        "consent_attested": true,
        "governance_complete": true,
        "non_biometric": true
      }
    },
    "signer": {
      "did": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
      "verification_method": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK#key-1"
    }
  },
  "meta": {
    "verified_at": "2026-02-24T10:30:10.000Z"
  }
}

Example Response (Failed)

{
  "success": true,
  "data": {
    "verified": false,
    "certification": {
      "level": "basic",
      "checks": {
        "schema_valid": true,
        "provenance_intact": false,
        "consent_attested": false,
        "governance_complete": false,
        "non_biometric": true
      }
    },
    "signer": {
      "did": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
      "verification_method": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK#key-1"
    }
  },
  "meta": {
    "verified_at": "2026-02-24T10:30:10.000Z"
  }
}

Certification Checks

schema_valid

EDM artifact conforms to v0.5 schema specification

provenance_intact

Cryptographic signature is valid and content unchanged since sealing

consent_attested

Issuance metadata present with valid pathway declaration

governance_complete

Governance domain populated with jurisdiction and consent basis

non_biometric

Artifact derived from text content only (no biometric data)

Error Codes

400

'envelope' field is required and must be a .ddna envelope object

400

Envelope missing proof.verificationMethod

401

Missing or invalid API key

403

API key does not have 'verify' scope

429

Rate limit exceeded

Related