API Documentation

Get Person Details

GET /api/v1/people/{id}

Get comprehensive information about a specific person including their roles in projects, affiliations with entities, and contributions to DID methods.

Request

Path Parameters

Parameter Type Required Description
id integer Yes Person ID

Example Request

bash
# Get details for person ID 1082
curl -X GET "https://www.weboftrust.org/api/v1/people/1082" \
  -H "X-API-Key: YOUR_API_KEY"

Response

Success Response (200 OK)

Response Schema

typescript
interface PersonDetail {
  // Basic Information
  id: number;
  name: string;
  
  // AI-generated description
  ai_description?: string;
  
  // Project affiliations
  project_relations?: Array<{
    project: {
      id: number;
      title: string;
      type?: "DID Project" | "Consortium";
      website?: string;
    };
    role?: {
      id: number;
      title: string;         // e.g., "CEO", "Technical Lead", "Board Member"
    };
    on_behalf_of_entity?: {  // Entity they represent
      id: number;
      name: string;
      type?: string[];
    };
    source?: string;         // URL confirming the relationship
  }>;
  
  // DID method contributions
  did_method_relations?: Array<{
    did_method: {
      id: number;
      name: string;
      specification_url?: string;
    };
    source?: string;
    archived_source?: string;
  }>;
  
  // Statistics
  stats: {
    total_links: number;      // Total number of connections
  };
}

Example Response

json
{
  "id": 1082,
  "name": "Stephen Curran",
  "ai_description": "Stephen Curran is a prominent figure in the decentralized identity space, serving as the Technical Lead for the Government of British Columbia's Verifiable Organizations Network. He has been instrumental in developing Hyperledger Aries and promoting interoperable digital credentials. He chairs the Sovrin Foundation Board of Trustees and co-chairs the Open Wallet Foundation's Wallet Interoperability Special Interest Group.",
  "project_relations": [
    {
      "project": {
        "id": 415,
        "title": "OWF - Open Wallet Foundation",
        "type": "Consortium",
        "website": "https://openwallet.foundation/"
      },
      "role": {
        "id": 2403,
        "title": "Co-chair (Wallet Interoperability Special Interest Group)"
      },
      "on_behalf_of_entity": null,
      "source": "https://archive.ph/6jxZB#selection-2895.205-2895.299"
    },
    {
      "project": {
        "id": 417,
        "title": "Sovrin Foundation",
        "type": "Consortium",
        "website": "https://sovrin.org/"
      },
      "role": {
        "id": 1158,
        "title": "Chair (Board of Trustees)"
      },
      "on_behalf_of_entity": null,
      "source": "https://archive.ph/GqdHd#15%"
    },
    {
      "project": {
        "id": 342,
        "title": "Hyperledger Aries",
        "type": "DID Project",
        "website": "https://www.hyperledger.org/use/aries"
      },
      "role": {
        "id": 876,
        "title": "Maintainer"
      },
      "on_behalf_of_entity": {
        "id": 234,
        "name": "Province of British Columbia",
        "type": ["Public"]
      },
      "source": "https://github.com/hyperledger/aries"
    }
  ],
  "did_method_relations": [],
  "stats": {
    "total_links": 16
  }
}

Error Responses

400 Bad Request

Invalid ID parameter

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

404 Not Found

Person not found

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

500 Internal Server Error

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

Field Descriptions

  • name: Full name of the person
  • project_relations: All projects and consortia the person is involved with
  • role: Their specific role or position in each project
  • on_behalf_of_entity: Organization they represent (if applicable)
  • did_method_relations: DID methods they've contributed to
  • source: Verification URL for each affiliation

Privacy Considerations

  • Only public information is included
  • Data sourced from public announcements and documents
  • Focuses on professional roles and contributions
  • No personal contact information provided