Guides
Ecosystems
Create a participant

How to create a participant

Participants are entities within an Ecosystem that can be issuers and/or verifiers (a single participant can assume both roles). Participants might be government agencies, insurance companies, banks, universities and so on.

Request

Make a request of the following structure to create a new Participant:

HTTP
POST /v1/ecosystems/{ecosystemId}/participants
  • ecosystemId : Participants must be created within a specific ecosystem. Use the ecosystem unique id obtained when you created the ecosystem.

Request body

JSON
{
    "name": "My Participant",
    "identifiers": {
        "web-semantic": "did:web:example.com",
        "compact-semantic": "did:web:example.com",
        "compact": "did:web:example.com",
        "mobile": [
            "-----BEGIN CERTIFICATE-----\\r\\nMIIBwzCCAWigAwIBAgIKRGC+CqoTGJKkkTAKBggqhkjOPQQDAjAgMR4wCQYDVQQG\\r\\nEwJOWjARBgNVBAMTCk1BVFRSIElBQ0EwHhcNMjMwODA4MDAwOTIxWhcNMzMwODA1\\r\\nMDAwOTIxWjAgMR4wCQYDVQQGEwJOWjARBgNVBAMTCk1BVFRSIElBQ0EwWTATBgcq\\r\\nhkjOPQIBBggqhkjOPQMBBwNCAASRu69fzdgM4odkyPtRcZd3eGWCw4BB7StZNGRm\\r\\nuIlrraUyv9SWPHgUYjYmRB1g7ERzj/pOSAspk71Y+QA+j9nPo4GJMIGGMBIGA1Ud\\r\\nEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgAGMB0GA1UdDgQWBBSONcHGh4If\\r\\nO1dYorRpsuFrs+f8SDAcBgNVHRIEFTATgRFpbmZvQG1hdHRyLmdsb2JhbDAjBgNV\\r\\nHR8EHDAaMBiiFoYUaHR0cHM6Ly9tYXR0ci5nbG9iYWwwCgYIKoZIzj0EAwIDSQAw\\r\\nRgIhAPKJIGDSvp7VxRBLCWWeghqi8UUeO+dZsC49TUZcDMNxAiEAoh+7dT+l+GzX\\r\\nk0J2SoGmPiagrbAuIYyTHwzZZuYr1W4=\\r\\n-----END CERTIFICATE-----\\r\\n"
        ]
    },
    "isIssuer": false,
    "isVerifier": false,
    "isIssuerConstrained": true,
    "isVerifierConstrained": true
}
  • name : Enter a unique and meaningful name for your participant.
  • identifiers : Define the unique identifier that will be used by this participant to issue and/or verify credentials.
    • Participants can have different identifiers for different credential profiles.
    • Each participant must have at least one defined credential profile, and for each credential profile a participant can define exactly one unique identifier.
    • Credentials are only valid in the ecosystem if they include an identifier of an issuer that is a participant in the ecosystem and is allowed to issue that type of credential (as defined by the Ecosystem policy).
    • Verification requests are only valid in the ecosystem if they include an identifier of a verifier that is a participant in the ecosystem and is allowed to verify that type of credential (as defined by the Ecosystem policy).
    • For Compact and Web Credentials this must be a valid DID.
    • For Mobile Credentials this must be the PEM of a valid IACA that will be used by this participant to sign Mobile Credentials. IACAs with a notBefore date in the future are considered valid in this context.
  • isIssuer : Indicates whether the participant is an issuer in the ecosystem (true) or not (false).
    • When set to false, credentials issued by this participant will not be considered valid in the ecosystem, even if they are added to an issuer policy.
    • Defaults to false, as this assigns the least privileges to the new participant.
  • isVerifier : Indicates whether the created participant is a verifier in the ecosystem (true) or not (false).
    • When set to false, verification requests from this participant will not be considered valid in the ecosystem, even if they are added to a verifier policy.
    • Defaults to false, as this assigns the least privileges to the new participant.
  • isIssuerConstrained : Indicates whether the created participant is constrained to only issue specific types of valid credentials (true) or not (false).
    • When set to false, all credentials issued by this participant are considered valid in the ecosystem, even if they are added to a more limited issuer policy.
    • Defaults to true, as this assigns the least privileges to the new participant.
  • isVerifierConstrained : Indicates whether the created participant is constrained to only verify specific types of valid credentials (true) or not (false).
    • When set to false, verification requests of any credential type from this participant are considered valid in the ecosystem, even if they are added to a more limited verifier policy.
    • Defaults to true, as this assigns the least privileges to the new participant.

Response

JSON
{
    "id": "a24e391a-c27f-4b6e-9805-1ee7e03f3c58",
    "ecosystemId": "87880d7e-a4d0-462e-8383-3f1e5e16865d"
    //... rest of particpant information
}
  • id : Unique identifier for the new participant. This identifier is used when creating policies and to validate this participant during issuance and verification workflows.