did:genuinein
Method SpecificationVersion: 1.0
Status: Draft
The did:genuinein
method is a specific implementation of the W3C Decentralized Identifiers (DIDs) v1.0 specification. It is designed to create and manage DIDs that are anchored to the GenuineIN identity platform. This method provides a centralized, yet cryptographically verifiable, approach to digital identity, enabling individuals and organizations to have a persistent, resolvable identifier for issuing and presenting Verifiable Credentials. The resolution of did:genuinein
identifiers is performed via a trusted, public RESTful API, ensuring ease of use and integration for developers.
The syntax follows:
did:genuinein:<record-type>[:<role-type>]:<unique-identifier>
Where:
<record-type>
defines the domain of the record (e.g., education, certification).<role-type>
(optional) defines the entity's role (ler, issuer, receiver).<unique-identifier>
is a Base64URL-encoded, opaque identifier.Type | Description |
---|---|
ler | Learner Employment Record holder (individual) |
issuer | Authorized issuing institution |
receiver | Verifier or relying party (e.g., employer) |
education | Educational records (degrees, courses) |
experience | Employment history |
course | Learning course completion |
certification | Certifications and licenses |
internship | Internship records |
training | Completed training programs |
participation | Participation in events or activities |
project-participation | Project-based contributions |
research | Research activities |
testscore | Assessment or test scores |
recognition | Awards or recognitions |
paper-publication | Research and publications |
volunteer | Volunteer activities |
sports-participation | Sports participation records |
membership | Memberships in organizations |
did:genuinein:education:ler:zR9iC3tX-7b8E2fG_JkLpQ
did:genuinein:experience:issuer:aB8hD2sY-6c7F1eH_KjLpQ
did:genuinein:project:receiver:xP5kF9vU-2a1B9gI_MnQrS
All Create, Read, Update, and Deactivate (CRUD) operations for the DID itself are managed through the official GenuineIN DID API.
Base Endpoint: https://api.genuinein.com/v1/dids/
A new did:genuinein
is created when a user, authenticated on the GenuineIN platform, initiates a registration request.
POST /v1/dids/
didType
and the initial public key.
{
"didType": "ler",
"publicKeyJwk": {
"kty": "OKP",
"crv": "Ed25519",
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOy-V24_1F2yBc"
}
}
Resolving a did:genuinein
is a public and unauthenticated operation.
GET /v1/dids/{did-type}:{unique-identifier}
200 OK
response with a JSON object containing the DID Document. A DID Document for an issuer may include a `service` endpoint pointing to the credential API.
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:genuinein:issuer:aB8hD2sY-6c7F1eH_KjLpQ-def456uvw",
"authentication": [...],
"service": [
{
"id": "#credentials",
"type": "CredentialService",
"serviceEndpoint": "https://genuinein.com/api/credentials/"
}
]
}
The controller of a DID can update its associated DID Document.
PUT /v1/dids/{did-type}:{unique-identifier}
authentication
method.The controller of a DID can permanently deactivate it.
DELETE /v1/dids/{did-type}:{unique-identifier}
410 Gone
status.unique-identifier
is opaque and does not contain personal data.The following endpoints are not part of the DID resolution process itself but are services that a did:genuinein
DID Document may point to via its serviceEndpoint
. They are used for handling Verifiable Credentials (VCs).
This endpoint allows for the retrieval of a specific Verifiable Credential's data.
GET /api/credentials/{credentialId}
credentialId
(GRID) to determine the credential type via its `pecid` substring. It then routes the request to the appropriate internal repository (e.g., `educationRepo`, `experienceRepo`) to fetch the specific LER data and return it as a JSON object.This endpoint allows for checking the revocation status of a Verifiable Credential.
GET /api/credentials/status/{grid}
{
"id": "https://genuinein.com/credentials/status/...",
"type": "CredentialStatusList2021",
"statusPurpose": "revocation",
"status": "active",
"updated": "2025-07-09T04:27:00Z"
}