Provider Service
The Provider Service enables the creation and management of ecosystems.
Named vs Anonymous ecosystems
There are two types of ecosystems: named and anonymous .
Named ecosystems are suitable for production, and will be prepared for you by Trinsic during onboarding.
Anonymous ecosystems have auto-generated names (such as eager-elephant-94jkn5h), and may be created by anyone at any time.
Using an anonymous ecosystem for purposes other than prototyping and testing is considered an unauthorized use of Trinsic's platform.
Service Creation
Create Ecosystem
Creates a new ecosystem, along with a root controlling account.
If name is left empty, an anonymous ecosystem will be created.
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Request to create an ecosystem
name
optional string
Globally unique name for the Ecosystem. This name will be part of the ecosystem-specific URLs and namespaces. Allowed characters are lowercase letters, numbers, underscore and hyphen. If not passed, ecosystem name will be auto-generated.
description
optional string
Ecosystem description
uri
optional string
External URL associated with your organization or ecosystem entity
details
The account details of the owner of the ecosystem
Show child attributes
details. name
optional string
Account name
details. email
optional string
Email address of account
details. sms
optional string
SMS number including country code
domain
string
New domain URL
Response to CreateEcosystemRequest
ecosystem
Details of the created ecosystem
Show child attributes
ecosystem. id
string
URN of the ecosystem
ecosystem. name
string
Globally unique name for the ecosystem
ecosystem. description
string
Ecosystem description
ecosystem. uri
string
External URL associated with the organization or ecosystem entity
ecosystem. display
Display details
Show child attributes
ecosystem.display. light
Removed the Dark after discussion with team, as we don't provide a dark UI anywhere (yet) in our platform. EcosystemDisplayDetails dark = 1;
Show child attributes
ecosystem.display.light. logo_url
string
ecosystem.display.light. color
string
ecosystem. domain
string
Domain
profile
Account profile for auth of the owner of the ecosystem
Show child attributes
profile. profile_type
string
The type of profile, used to differentiate between protocol schemes or versions
profile. auth_data
bytes
Auth data containg information about the current device access
profile. auth_token
bytes
Secure token issued by server used to generate zero-knowledge proofs
profile. protection
Token security information about the token. If token protection is enabled, implementations must supply protection secret before using the token for authentication.
Show child attributes
profile.protection. enabled
bool
Indicates if token is protected using a PIN, security code, HSM secret, etc.
profile.protection. method
The method used to protect the token
Show enum values
ConfirmationMethod. None
= 0
No confirmation required
ConfirmationMethod. Email
= 1
Email confirmation required
ConfirmationMethod. Sms
= 2
SMS confirmation required
ConfirmationMethod. ConnectedDevice
= 3
Confirmation from a connected device is required
ConfirmationMethod. Other
= 10
Third-party method of confirmation is required
confirmation_method
Indicates if confirmation of account is required.
Show enum values
ConfirmationMethod. None
= 0
No confirmation required
ConfirmationMethod. Email
= 1
Email confirmation required
ConfirmationMethod. Sms
= 2
SMS confirmation required
ConfirmationMethod. ConnectedDevice
= 3
Confirmation from a connected device is required
ConfirmationMethod. Other
= 10
Third-party method of confirmation is required
Update Ecosystem
Deprecation Notice
This endpoint is deprecated, and will be removed May 1, 2023. Please use the dashboard to update .
Updates the active ecosystem's description or uri.
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Request to update an ecosystem's metadata
description
string
New description of the ecosystem
uri
string
New external URL associated with the organization or ecosystem entity
domain
string
New domain URL
display
Display details
Show child attributes
display. light
Removed the Dark after discussion with team, as we don't provide a dark UI anywhere (yet) in our platform. EcosystemDisplayDetailsRequest dark = 1;
Show child attributes
display.light. color
string
display.light. logo_data
bytes
display.light. logo_format
string
MIME type of the file
Response to UpdateEcosystemRequest
Ecosystem
Current ecosystem metadata, post-update
Show child attributes
Ecosystem. id
string
URN of the ecosystem
Ecosystem. name
string
Globally unique name for the ecosystem
Ecosystem. description
string
Ecosystem description
Ecosystem. uri
string
External URL associated with the organization or ecosystem entity
Ecosystem. display
Display details
Show child attributes
Ecosystem.display. light
Removed the Dark after discussion with team, as we don't provide a dark UI anywhere (yet) in our platform. EcosystemDisplayDetails dark = 1;
Show child attributes
Ecosystem.display.light. logo_url
string
Ecosystem.display.light. color
string
Ecosystem. domain
string
Domain
Get Ecosystem Info
Fetches information about the active ecosystem.
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Request to fetch information about an ecosystem
This message has no fields
Response to InfoRequest
ecosystem
Ecosystem corresponding to current ecosystem in the account token
Show child attributes
ecosystem. id
string
URN of the ecosystem
ecosystem. name
string
Globally unique name for the ecosystem
ecosystem. description
string
Ecosystem description
ecosystem. uri
string
External URL associated with the organization or ecosystem entity
ecosystem. display
Display details
Show child attributes
ecosystem.display. light
Removed the Dark after discussion with team, as we don't provide a dark UI anywhere (yet) in our platform. EcosystemDisplayDetails dark = 1;
Show child attributes
ecosystem.display.light. logo_url
string
ecosystem.display.light. color
string
ecosystem. domain
string
Domain
Upgrade Wallet DID
Restricted API
This feature is not yet publicly available, and the list of supported DID Methods is not final.
Please contact Trinsic to enable this endpoint on your account.
Ledger Interactions
Depending on the DID Method chosen, you may be responsible for ledger write fees; additionally, there are some logistical concerns to be aware of.
Click here to learn more.
Upgrades a wallet's DID from the default did:key to another DID Method. This endpoint may only be called by an ecosystem provider.
Trinsic will register a DID Document for you, and update the wallet's public_did property to the newly-registered DID. Credentials previously issued by this wallet will not have their issuer field updated to the new DID, but they will still verify correctly.
Presently, once a wallet's DID has been upgraded, its DID Method cannot be changed again. However, it is possible to perform further upgrades within a method, to go from a testing to production network (for example, did:ion:test to did:ion).
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Request to upgrade a wallet
email
string
Email address of account to upgrade. Mutually exclusive with walletId and didUri.
wallet_id
string
Wallet ID of account to upgrade. Mutually exclusive with email and didUri.
did_uri
string
DID URI of the account to upgrade. Mutually exclusive with email and walletId.
method
DID Method to which wallet should be upgraded
Show enum values
SupportedDidMethod. KEY
= 0
The did:key method -- all wallets use this by default
SupportedDidMethod. ION
= 1
The did:ion method -- Sidetree implementation on top of Bitcoin by Microsoft
SupportedDidMethod. INDY
= 2
The did:sov method -- Hyperledger Indy based by Sovrin Foundation
ion_options
Configuration for creation of DID on ION network
Show child attributes
ion_options. network
ION network on which DID should be published
Show enum values
indy_options
Configuration for creation of DID on INDY network
Show child attributes
indy_options. network
SOV network on which DID should be published
Show enum values
IndyNetwork. SovrinBuilder
= 1
IndyNetwork. SovrinStaging
= 2
IndyNetwork. IdUnionTest
= 4
IndyNetwork. IndicioTest
= 6
IndyNetwork. IndicioDemo
= 7
Response to UpgradeDIDRequest
did
string
New DID of wallet
Invite
This will be removed May 1, 2023
Invite a user to the ecosystem
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Request to invite a participant to an ecosystem
participant
Type of participant being invited (individual/organization)
Show enum values
ParticipantType. participant_type_individual
= 0
Participant is an individual
ParticipantType. participant_type_organization
= 1
Participant is an organization
description
optional string
Description of invitation
details
Account details of invitee
Show child attributes
details. name
optional string
Account name
details. email
optional string
Email address of account
details. sms
optional string
SMS number including country code
Response to InviteRequest
invitation_id
string
ID of created invitation
invitation_code
string
Invitation code -- must be passed back in LoginRequest
InvitationStatus
This will be removed May 1, 2023
Check the status of an invitation
GetOberonKey
Returns the public key being used to create/verify oberon tokens
RetrieveDomainVerificationRecord
Retrieve a random hash TXT that can be used to verify domain ownership
RefreshDomainVerificationStatus
Call to verify domain
SearchWalletConfigurations
Search for issuers/providers/verifiers in the current ecosystem
SampleTrinsic CLI TypeScript C# Dart Python Go Java Request Response
trinsic vc issue --document <JSONLD_FILE> --out <OUTPUT_FILE>
Search for issuers/holders/verifiers
query_filter
string
SQL filter to execute. SELECT * FROM _ WHERE [**queryFilter**]
continuation_token
optional string
Token provided by previous SearchResponse if more data is available for query
results
Results matching the search query
Show child attributes
results[i ]. email
optional string
results[i ]. sms
optional string
results[i ]. wallet_id
string
results[i ]. public_did
string
results[i ]. config_type
string
has_more
bool
Whether more results are available for this query via continuation_token
continuation_token
string
Token to fetch next set of results via SearchRequest