API Documentation

Get DID Method Details

GET /api/v1/did-methods/{id}

Get comprehensive information about a specific DID method including all projects using it, related DLT instances, entities, and people involved.

Request

Path Parameters

Parameter Type Required Description
id integer Yes DID method ID

Example Request

bash
# Get details for DID method ID 1738169371476
curl -X GET "https://www.weboftrust.org/api/v1/did-methods/1738169371476" \
  -H "X-API-Key: YOUR_API_KEY"

Response

Success Response (200 OK)

Response Schema

typescript
interface DidMethodDetail {
  // Basic Information
  id: number;
  name: string;                    // DID method name (without "did:" prefix)
  specification_url?: string;      // URL to method specification
  contact_name?: string;           // Organization/person maintaining the method
  contact_website?: string;        // Contact website
  source?: string;                 // Live source URL
  archived_source?: string;        // Archived source URL
  
  // AI-generated description
  ai_description?: string;
  
  // Projects using this DID method
  projects?: Array<{
    project: {
      id: number;
      title: string;
      type: "DID Project" | "Consortium";
      website?: string;
    };
    source?: string;         // URL confirming usage
    archived_source?: string;
    excerpt?: string;        // Text snippet explaining the usage
  }>;
  
  // DLT instances supporting this method
  dlt_instances?: Array<{
    dlt_instance: {
      id: number;
      name: string;
      operator?: {
        id: number;
        name: string;
      };
    };
    source?: string;
    archived_source?: string;
  }>;
  
  // Entities involved with this method
  entities?: Array<{
    entity: {
      id: number;
      name: string;
      type?: string[];
      website?: string;
    };
    source?: string;
    archived_source?: string;
  }>;
  
  // People involved with this method
  persons?: Array<{
    person: {
      id: number;
      name: string;
    };
    source?: string;
    archived_source?: string;
  }>;
}

Example Response

json
{
  "id": 1738169371476,
  "name": "abt",
  "specification_url": "https://arcblock.github.io/abt-did-spec/",
  "contact_name": "ArcBlock",
  "contact_website": null,
  "source": "https://diddirectory.com/",
  "archived_source": null,
  "ai_description": "ABT DID Method is a blockchain-based decentralized identifier implementation developed by ArcBlock that focuses on enhanced privacy and security.",
  "projects": [
    {
      "project": {
        "id": 456,
        "title": "ArcBlock Identity Wallet",
        "type": "DID Project",
        "website": "https://www.arcblock.io/en/wallet"
      },
      "source": "https://github.com/ArcBlock/did-abt-spec",
      "archived_source": null,
      "excerpt": "The ArcBlock Identity Wallet implements the did:abt method to provide users with self-sovereign identity management capabilities on the ArcBlock blockchain platform."
    }
  ],
  "dlt_instances": [
    {
      "dlt_instance": {
        "id": 126,
        "name": "ArcBlock",
        "operator": null
      },
      "source": null,
      "archived_source": null
    }
  ],
  "entities": [
    {
      "entity": {
        "id": 57,
        "name": "ArcBlock Foundation, Limited",
        "type": ["Private"],
        "website": "https://www.arcblock.io/en"
      },
      "source": "https://diddirectory.com/",
      "archived_source": null
    }
  ],
  "persons": []
}

Error Responses

400 Bad Request

Invalid ID parameter

json
{
  "error": {
    "code": "invalid_parameter",
    "message": "Invalid DID method ID"
  }
}

404 Not Found

DID method not found

json
{
  "error": {
    "code": "not_found",
    "message": "DID method not found"
  }
}

500 Internal Server Error

json
{
  "error": {
    "code": "internal_error",
    "message": "Failed to fetch DID method details"
  }
}

Field Descriptions

  • name: The DID method identifier without the "did:" prefix
  • specification_url: Link to the technical specification document
  • contact_name: Organization or person responsible for maintaining the method
  • ai_description: AI-generated explanation of the method's purpose and features
  • projects: List of all projects that have implemented or use this DID method
  • dlt_instances: Blockchain instances that support this DID method
  • entities: Organizations involved in developing or maintaining the method
  • persons: Individual contributors or maintainers

DID Method Examples

Common DID Methods

  • did:web - Web-hosted DIDs using DNS and HTTPS
  • did:key - Self-contained key-based DIDs
  • did:ethr - Ethereum-based DIDs
  • did:ion - ION (Identity Overlay Network) on Bitcoin
  • did:sov - Sovrin network DIDs
  • did:indy - Hyperledger Indy DIDs
  • did:polygon - Polygon blockchain DIDs
  • did:pkh - Public Key Hash DIDs

Understanding DID Methods

DID methods define:

  • How DIDs are created and managed
  • Which blockchain or system stores the DID documents
  • Resolution mechanisms for looking up DID documents
  • Cryptographic requirements and key management
  • Update and deactivation procedures

Use Cases

  • Method Selection: Choose appropriate DID methods for your project
  • Compatibility Analysis: Find projects using the same DID method
  • Ecosystem Mapping: Understand which entities support specific methods
  • Technical Research: Access specifications and implementation details
  • Partnership Discovery: Connect with other projects using the same method

Data Sources

DID method information is compiled from:

  • W3C DID Registry
  • DID Directory (diddirectory.com)
  • Method specification repositories
  • Project implementation documentation
  • Community contributions