GuidesCreate 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,
    "status": "active",
    "country": "US",
    "stateOrProvince": "US-AL",
    "contacts" [
        {
            "phoneNumber": "012-3456789",
            "address": "Participant address"
        }
    ]
}
  • 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 formats.
    • Each participant must have at least one defined credential format, and for each credential format 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 CWT and JSON credentials this must be a valid DID.
    • For mDocs this must be the PEM of a valid IACA that will be used by this participant to sign mDocs. 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.
  • status: Indicates whether the participant is active or inactive. Only active participants are included in the ecosystem policy. Defaults to inactive.
  • country: The country in which the participant is based, in ISO 3166-1 country code format. When provided, must match the country value in the PEM certificate associated with the mobile identifier of this participant.
  • stateOrProvince: The state or province in which the participant is based, in ISO 3166-2 subdivision code format. When provided, must match the stateOrProvince value in the PEM certificate associated with the mobile identifier of this participant.
  • contacts: Contact details associated with the participant.
    • phoneNumber: Contact phone number.
    • address: Contact address.

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.