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 uniqueid
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.
- When set to
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.
- When set to
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.
- When set to
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.
- When set to
status
: Indicates whether the participant isactive
orinactive
. Only active participants are included in the ecosystem policy. Defaults toinactive
.country
: The country in which the participant is based, in ISO 3166-1 country code format. When provided, must match thecountry
value in the PEM certificate associated with themobile
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 thestateOrProvince
value in the PEM certificate associated with themobile
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.