Protocol Documentation¶
This page documents the Protobuf Services and Messages which compose the Trinsic API.
sdk/options/v1/options.proto¶
ServiceOptions¶
Configuration for Trinsic SDK Services
Field | Type | Description |
---|---|---|
server_endpoint | string | Trinsic API endpoint. Defaults to prod.trinsic.cloud |
server_port | int32 | Trinsic API port; defaults to 443 |
server_use_tls | bool | Whether TLS is enabled between SDK and Trinsic API; defaults to true |
auth_token | string | Authentication token for SDK calls; defaults to empty string (unauthenticated) |
Default ecosystem ID to use for various SDK calls; defaults to default
string default_ecosystem = 5; |
services/trust-registry/v1/trust-registry.proto¶
Service - TrustRegistry¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
AddFramework | AddFrameworkRequest | AddFrameworkResponse | Add a governance framework to the ecosystem |
RemoveFramework | RemoveFrameworkRequest | RemoveFrameworkResponse | Remove a governance framework from the ecosystem |
SearchRegistry | SearchRegistryRequest | SearchRegistryResponse | Search the ecosystem's governance frameworks |
RegisterMember | RegisterMemberRequest | RegisterMemberResponse | Register an authoritative issuer for a credential schema |
UnregisterMember | UnregisterMemberRequest | UnregisterMemberResponse | Removes an authoritative issuer for a credential schema from the trust registry |
GetMembershipStatus | GetMembershipStatusRequest | GetMembershipStatusResponse | Fetch the membership status of an issuer for a given credential schema in a trust registry |
FetchData | FetchDataRequest | FetchDataResponse stream | Not implemented. |
AddFrameworkRequest¶
Request to register a new ecosystem governance framework in the current ecosystem
Field | Type | Description |
---|---|---|
governance_framework_uri | string | URI of governance framework organization |
name | string | Name of governance framework organization |
description | string | Description of governance framework |
AddFrameworkResponse¶
Response to AddFrameworkRequest
Field | Type | Description |
---|---|---|
id | string | Unique framework identifier |
governing_authority | string | DID URI of Trinsic account which created the governance framework |
trust_registry | string | URN of trust registry for governance framework |
FetchDataRequest¶
Not implemented.
Field | Type | Description |
---|---|---|
governance_framework_uri | string | |
query | string |
FetchDataResponse¶
Not implemented.
Field | Type | Description |
---|---|---|
response_json | string | |
has_more_results | bool | |
continuation_token | string |
GetMembershipStatusRequest¶
Request to fetch membership status in governance framework for a specific credential schema.
Only one of did_uri
, x509_cert
may be specified.
Field | Type | Description |
---|---|---|
governance_framework_uri | string | URI of governance framework |
did_uri | string | DID URI of member |
x509_cert | string | X.509 certificate of member |
schema_uri | string | URI of credential schema associated with membership |
GetMembershipStatusResponse¶
Response to GetMembershipStatusRequest
Field | Type | Description |
---|---|---|
status | RegistrationStatus | Status of member for given credential schema |
GovernanceFramework¶
Ecosystem Governance Framework
Field | Type | Description |
---|---|---|
governance_framework_uri | string | URI of governance framework organization |
trust_registry_uri | string | URI of trust registry associated with governance framework |
description | string | Description of governance framework |
RegisterMemberRequest¶
Request to register a member as a valid issuer of a specific credential schema.
Only one of did_uri
, wallet_id
, or email
may be specified.
Field | Type | Description |
---|---|---|
did_uri | string | DID URI of member to register |
wallet_id | string | Trinsic Wallet ID of member to register |
string | Email address of member to register. Must be associated with an existing Trinsic account. | |
schema_uri | string | URI of credential schema to register member as authorized issuer of |
valid_from_utc | uint64 | Unix Timestamp member is valid from. Member will not be considered valid before this timestamp. |
valid_until_utc | uint64 | Unix Timestamp member is valid until. Member will not be considered valid after this timestamp. |
framework_id | string | ID of the governance framework that member is being added to |
RegisterMemberResponse¶
Response to RegisterMemberRequest
RemoveFrameworkRequest¶
Request to remove a governance framework from the current ecosystem
Field | Type | Description |
---|---|---|
id | string | ID of governance framework to remove |
RemoveFrameworkResponse¶
Response to RemoveFrameworkRequest
SearchRegistryRequest¶
Request to search all governance frameworks within ecosystem
Field | Type | Description |
---|---|---|
query | string | SQL query to execute against frameworks. Example: SELECT c from c where c.type == 'GovernanceFramework' |
continuation_token | string | Token to fetch next set of results, from previous SearchRegistryResponse |
SearchRegistryResponse¶
Response to SearchRegistryRequest
Field | Type | Description |
---|---|---|
items_json | string | JSON string containing array of resultant objects |
has_more | bool | Whether more data is available to fetch for query |
continuation_token | string | Token to fetch next set of results via SearchRegistryRequest |
UnregisterMemberRequest¶
Request to unregister a member as a valid issuer of a specific credential schema.
Only one of did_uri
, wallet_id
, or email
may be specified.
Field | Type | Description |
---|---|---|
did_uri | string | DID URI of member to unregister |
wallet_id | string | Trinsic Wallet ID of member to unregister |
string | Email address of member to unregister. Must be associated with an existing Trinsic account. | |
schema_uri | string | URI of credential schema to unregister member as authorized issuer of |
framework_id | string | ID of the governance framework that member is being removed from |
UnregisterMemberResponse¶
Response to UnregisterMemberRequest
RegistrationStatus¶
Name | Number | Description |
---|---|---|
CURRENT | 0 | Member is currently authorized, as of the time of the query |
EXPIRED | 1 | Member's authorization has expired |
TERMINATED | 2 | Member has voluntarily ceased Issuer role under the specific EGF |
REVOKED | 3 | Member authority under specific EGF was terminated by the governing authority |
NOT_FOUND | 10 | Member is not associated with given credential schema in the EGF |
services/account/v1/account.proto¶
Service - Account¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SignIn | SignInRequest | SignInResponse | Sign in to an already existing account |
Login | LoginRequest | LoginResponse | Begin login flow for specified account, creating one if it does not already exist |
LoginConfirm | LoginConfirmRequest | LoginConfirmResponse | Finalize login flow with two-factor confirmation code |
Info | AccountInfoRequest | AccountInfoResponse | Get account information |
ListDevices | ListDevicesRequest | ListDevicesResponse | List all connected devices |
RevokeDevice | RevokeDeviceRequest | RevokeDeviceResponse | Revoke device access to the account's cloud wallet |
AuthorizeWebhook | AuthorizeWebhookRequest | AuthorizeWebhookResponse | Authorize Ecosystem to receive webhook events |
AccountDetails¶
Account registration details
Field | Type | Description |
---|---|---|
name | string | Account name |
string | Email address of account | |
sms | string | SMS number including country code |
AccountEcosystem¶
Deprecated
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
description | string | |
uri | string |
AccountInfoRequest¶
Request for information about the account used to make the request
AccountInfoResponse¶
Information about the account used to make the request
Field | Type | Description |
---|---|---|
details | AccountDetails | The account details associated with the calling request context |
ecosystems | AccountEcosystem[] | Deprecated. Use ecosystem_id instead |
wallet_id | string | The wallet ID associated with this account |
device_id | string | The device ID associated with this account session |
ecosystem_id | string | The ecosystem ID within which this account resides |
public_did | string | The public DID associated with this account. This DID is used as the issuer when signing verifiable credentials |
authorized_webhooks | string[] | Webhook events, if any, this wallet has authorized |
AccountProfile¶
Device profile containing sensitive authentication data. This information should be stored securely
Field | Type | Description |
---|---|---|
profile_type | string | The type of profile, used to differentiate between protocol schemes or versions |
auth_data | bytes | Auth data containg information about the current device access |
auth_token | bytes | Secure token issued by server used to generate zero-knowledge proofs |
protection | TokenProtection | Token security information about the token. If token protection is enabled, implementations must supply protection secret before using the token for authentication. |
AuthorizeWebhookRequest¶
Request to authorize Ecosystem provider to receive webhooks for events which occur on this wallet.
Field | Type | Description |
---|---|---|
events | string[] | Events to authorize access to. Default is "*" (all events) |
AuthorizeWebhookResponse¶
Response to AuthorizeWebhookRequest
ListDevicesRequest¶
ListDevicesResponse¶
LoginConfirmRequest¶
Request to finalize login flow
Field | Type | Description |
---|---|---|
challenge | bytes | Challenge received from Login |
confirmation_code_hashed | bytes | Two-factor confirmation code sent to account email or phone, hashed using Blake3. Our SDKs will handle this hashing process for you. |
LoginConfirmResponse¶
Response to LoginConfirmRequest
Field | Type | Description |
---|---|---|
profile | AccountProfile | Profile response; must be unprotected using unhashed confirmation code. Our SDKs will handle this process for you, and return to you an authentication token string. |
LoginRequest¶
Request to begin login flow
Field | Type | Description |
---|---|---|
string | Email address of account. If unspecified, an anonymous account will be created. | |
invitation_code | string | Invitation code associated with this registration |
ecosystem_id | string | ID of Ecosystem to sign into. Ignored if invitation_code is passed. |
LoginResponse¶
Response to LoginRequest
Field | Type | Description |
---|---|---|
challenge | bytes | Random byte sequence unique to this login request. If present, two-factor confirmation of login is required. Must be sent back, unaltered, in LoginConfirm . |
profile | AccountProfile | Account profile response. If present, no confirmation of login is required. |
RevokeDeviceRequest¶
RevokeDeviceResponse¶
SignInRequest¶
Request for creating or signing into an account
Field | Type | Description |
---|---|---|
details | AccountDetails | Account registration details |
invitation_code | string | Invitation code associated with this registration |
ecosystem_id | string | ID of Ecosystem to use Ignored if invitation_code is passed |
SignInResponse¶
Response for creating new account This object will indicate if a confirmation code was sent to one of the users two-factor methods like email, SMS, etc.
Field | Type | Description |
---|---|---|
confirmation_method | ConfirmationMethod | Indicates if confirmation of account is required. |
profile | AccountProfile | Contains authentication data for use with the current device. This object must be stored in a secure place. It can also be protected with a PIN, but this is optional. See the docs at https://docs.trinsic.id for more information on working with authentication data. |
TokenProtection¶
Token protection info
Field | Type | Description |
---|---|---|
enabled | bool | Indicates if token is protected using a PIN, security code, HSM secret, etc. |
method | ConfirmationMethod | The method used to protect the token |
ConfirmationMethod¶
Confirmation method type for two-factor workflows
Name | Number | Description |
---|---|---|
None | 0 | No confirmation required |
1 | Email confirmation required | |
Sms | 2 | SMS confirmation required |
ConnectedDevice | 3 | Confirmation from a connected device is required |
Other | 10 | Third-party method of confirmation is required |
services/common/v1/common.proto¶
Nonce¶
Nonce used to generate an oberon proof
Field | Type | Description |
---|---|---|
timestamp | int64 | UTC unix millisecond timestamp the request was made |
request_hash | bytes | blake3256 hash of the request body |
ResponseStatus¶
Name | Number | Description |
---|---|---|
SUCCESS | 0 | |
WALLET_ACCESS_DENIED | 10 | |
WALLET_EXISTS | 11 | |
ITEM_NOT_FOUND | 20 | |
SERIALIZATION_ERROR | 200 | |
UNKNOWN_ERROR | 100 |
services/provider/v1/provider.proto¶
Service - Provider¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
CreateEcosystem | CreateEcosystemRequest | CreateEcosystemResponse | Create new ecosystem and assign the authenticated user as owner |
UpdateEcosystem | UpdateEcosystemRequest | UpdateEcosystemResponse | Update an existing ecosystem |
GrantAuthorization | GrantAuthorizationRequest | GrantAuthorizationResponse | Grant user authorization to ecosystem resources |
RevokeAuthorization | RevokeAuthorizationRequest | RevokeAuthorizationResponse | Revoke user authorization to ecosystem resources |
GetAuthorizations | GetAuthorizationsRequest | GetAuthorizationsResponse | Retreive the list of permissions for this particular account/ecosystem |
AddWebhook | AddWebhookRequest | AddWebhookResponse | Add a webhook endpoint to the ecosystem |
DeleteWebhook | DeleteWebhookRequest | DeleteWebhookResponse | Delete a webhook endpoint from the ecosystem |
EcosystemInfo | EcosystemInfoRequest | EcosystemInfoResponse | Get ecosystem information |
GenerateToken | GenerateTokenRequest | GenerateTokenResponse | Generates an unprotected authentication token that can be used to configure server side applications |
Invite | InviteRequest | InviteResponse | Invite a user to the ecosystem |
InvitationStatus | InvitationStatusRequest | InvitationStatusResponse | Check the status of an invitation |
GetOberonKey | GetOberonKeyRequest | GetOberonKeyResponse | Returns the public key being used to create/verify oberon tokens |
GetEventToken | GetEventTokenRequest | GetEventTokenResponse | Generate a signed token (JWT) that can be used to connect to the message bus |
AddWebhookRequest¶
Request to add a webhook to an ecosystem
Field | Type | Description |
---|---|---|
destination_url | string | Destination to post webhook calls to. Must be a reachable HTTPS URL. |
secret | string | Secret string used for HMAC-SHA256 signing of webhook payloads to verify that a webhook comes from Trinsic |
events | string[] | Events to subscribe to. Default is "*" (all events) |
AddWebhookResponse¶
Response to AddWebhookRequest
Field | Type | Description |
---|---|---|
ecosystem | Ecosystem | Ecosystem data with new webhook |
CreateEcosystemRequest¶
Request to create an ecosystem
Field | Type | Description |
---|---|---|
name | 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 | string | Ecosystem description |
uri | string | External URL associated with your organization or ecosystem entity |
details | services.account.v1.AccountDetails | The account details of the owner of the ecosystem |
CreateEcosystemResponse¶
Response to CreateEcosystemRequest
Field | Type | Description |
---|---|---|
ecosystem | Ecosystem | Details of the created ecosystem |
profile | services.account.v1.AccountProfile | Account profile for auth of the owner of the ecosystem |
confirmation_method | services.account.v1.ConfirmationMethod | Indicates if confirmation of account is required. |
DeleteWebhookRequest¶
Request to delete a webhook from an ecosystem
Field | Type | Description |
---|---|---|
webhook_id | string | ID of webhook to delete |
DeleteWebhookResponse¶
Response to DeleteWebhookRequest
Field | Type | Description |
---|---|---|
ecosystem | Ecosystem | Ecosystem data after removal of webhook |
Ecosystem¶
Details of an ecosystem
Field | Type | Description |
---|---|---|
id | string | URN of the ecosystem |
name | string | Globally unique name for the ecosystem |
description | string | Ecosystem description |
uri | string | External URL associated with the organization or ecosystem entity |
webhooks | WebhookConfig[] | Configured webhooks, if any |
EcosystemInfoRequest¶
Request to fetch information about an ecosystem
EcosystemInfoResponse¶
Response to InfoRequest
Field | Type | Description |
---|---|---|
ecosystem | Ecosystem | Ecosystem corresponding to requested ecosystem_id |
GenerateTokenRequest¶
Request to generate an authentication token for the current account
Field | Type | Description |
---|---|---|
description | string | Description to identify this token |
GenerateTokenResponse¶
Response to GenerateTokenRequest
Field | Type | Description |
---|---|---|
profile | services.account.v1.AccountProfile | Account authentication profile that contains unprotected token |
GetAuthorizationsRequest¶
Fetch list of grants that the current account has access to in its ecosystem
GetAuthorizationsResponse¶
Response to GetAuthorizationsRequest
Field | Type | Description |
---|---|---|
grants | Grant[] | Grants attached to account |
GetEventTokenRequest¶
Generates an events token bound to the provided ed25519 public key.
Field | Type | Description |
---|---|---|
pk | bytes | Raw public key to generate event token for |
GetEventTokenResponse¶
Response message containing a token (JWT) that can be used to connect directly to the message streaming architecture
Field | Type | Description |
---|---|---|
token | string | JWT bound to the public key provided in GetEventTokenRequest |
GetOberonKeyRequest¶
Request to fetch the Trinsic public key used to verify authentication token validity
GetOberonKeyResponse¶
Response to GetOberonKeyRequest
Field | Type | Description |
---|---|---|
key | string | Oberon Public Key as RAW base64-url encoded string |
Grant¶
A grant authorizing actions
on a resourceId
Field | Type | Description |
---|---|---|
resourceId | string | the urn of the resource |
actions | string[] | list of actions that are allowed |
child_grants | Grant[] | any child grants |
GrantAuthorizationRequest¶
Grant permissions to a resource or path in the ecosystem
Field | Type | Description |
---|---|---|
string | Email address of account being granted permission. Mutually exclusive with walletId . |
|
walletId | string | Wallet ID of account being granted permission. Mutually exclusive with email . |
resource | string | Resource string that account is receiving permissions for. Resources are specified as a RESTful path: /{ecoId}/{resource type}/{resource id}. ecoId may be omitted. |
action | string | Action to authorize. Default is "*" (all) |
GrantAuthorizationResponse¶
Response to GrantAuthorizationRequest
InvitationStatusRequest¶
Request details for the status of an invitation
Field | Type | Description |
---|---|---|
invitation_id | string | ID of invitation, received from InviteResponse |
InvitationStatusResponse¶
Response to InvitationStatusRequest
Field | Type | Description |
---|---|---|
status | InvitationStatusResponse.Status | Status of invitation |
status_details | string | Human-readable string with details about invitation status |
InviteRequest¶
Request to invite a participant to an ecosystem
Field | Type | Description |
---|---|---|
participant | ParticipantType | Type of participant being invited (individual/organization) |
description | string | Description of invitation |
details | services.account.v1.AccountDetails | Account details of invitee |
InviteRequest.DidCommInvitation¶
InviteResponse¶
Response to InviteRequest
Field | Type | Description |
---|---|---|
invitation_id | string | ID of created invitation |
invitation_code | string | Invitation code -- must be passed back in LoginRequest |
RevokeAuthorizationRequest¶
Revoke permissions to a resource or path in the ecosystem
Field | Type | Description |
---|---|---|
string | Email address of account having permission revoked. Mutually exclusive with walletId . |
|
walletId | string | Wallet ID of account having permission revoked. Mutually exclusive with email . |
resource | string | Resource string that account is losing permissions for. Resources are specified as a RESTful path: /{ecoId}/{resource type}/{resource id}. ecoId may be omitted. |
action | string | Action to revoke. Default is "*" (all) |
RevokeAuthorizationResponse¶
Response to RevokeAuthorizationRequest
UpdateEcosystemRequest¶
Request to update an ecosystem's metadata
Field | Type | Description |
---|---|---|
description | string | New description of the ecosystem |
uri | string | New external URL associated with the organization or ecosystem entity |
UpdateEcosystemResponse¶
Response to UpdateEcosystemRequest
Field | Type | Description |
---|---|---|
Ecosystem | Ecosystem | Current ecosystem metadata, post-update |
WebhookConfig¶
Webhook configured on an ecosystem
Field | Type | Description |
---|---|---|
id | string | UUID of the webhook |
destination_url | string | HTTPS URL to POST webhook calls to |
events | string[] | Events the webhook is subscribed to |
status | string | Last known status of webhook (whether or not Trinsic can successfully reach destination) |
InvitationStatusResponse.Status¶
Name | Number | Description |
---|---|---|
Error | 0 | Onboarding resulted in error |
InvitationSent | 1 | The participant has been invited |
Completed | 2 | The participant has been onboarded |
Expired | 3 | The invite has expired |
ParticipantType¶
Type of participant being invited to ecosystem
Name | Number | Description |
---|---|---|
participant_type_individual | 0 | Participant is an individual |
participant_type_organization | 1 | Participant is an organization |
services/universal-wallet/v1/universal-wallet.proto¶
Service - UniversalWallet¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetItem | GetItemRequest | GetItemResponse | Retrieve an item from the wallet with a given item identifier |
Search | SearchRequest | SearchResponse | Search the wallet using a SQL syntax |
InsertItem | InsertItemRequest | InsertItemResponse | Insert an item into the wallet |
UpdateItem | UpdateItemRequest | UpdateItemResponse | Update an item in the wallet |
DeleteItem | DeleteItemRequest | DeleteItemResponse | Delete an item from the wallet permanently |
DeleteItemRequest¶
Request to delete an item in a wallet
Field | Type | Description |
---|---|---|
item_id | string | ID of item to delete |
DeleteItemResponse¶
Response to DeleteItemRequest
GetItemRequest¶
Request to fetch an item from wallet
Field | Type | Description |
---|---|---|
item_id | string | ID of item in wallet |
GetItemResponse¶
Response to GetItemRequest
Field | Type | Description |
---|---|---|
item_json | string | Item data as a JSON string |
item_type | string | Type of item specified when item was inserted into wallet |
InsertItemRequest¶
Request to insert a JSON document into a wallet
Field | Type | Description |
---|---|---|
item_json | string | Document to insert; must be stringified JSON |
item_type | string | Item type (ex. "VerifiableCredential") |
InsertItemResponse¶
Response to InsertItemRequest
Field | Type | Description |
---|---|---|
item_id | string | ID of item inserted into wallet |
SearchRequest¶
Request to search items in wallet
Field | Type | Description |
---|---|---|
query | string | SQL Query to execute against items in wallet |
continuation_token | string | Token provided by previous SearchResponse if more data is available for query |
SearchResponse¶
Response to SearchRequest
Field | Type | Description |
---|---|---|
items | string[] | Array of query results, as JSON strings |
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 |
UpdateItemRequest¶
Request to update item in wallet
Field | Type | Description |
---|---|---|
item_id | string | ID of item in wallet |
item_type | string | Item type (ex. "VerifiableCredential") |
UpdateItemResponse¶
Response to UpdateItemRequest
services/verifiable-credentials/v1/verifiable-credentials.proto¶
Service - VerifiableCredential¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Issue | IssueRequest | IssueResponse | Sign and issue a verifiable credential from a submitted document. The document must be a valid JSON-LD document. |
IssueFromTemplate | IssueFromTemplateRequest | IssueFromTemplateResponse | Sign and issue a verifiable credential from a pre-defined template. This process will also add schema validation and revocation registry values to the credential. |
CheckStatus | CheckStatusRequest | CheckStatusResponse | Check credential status in the revocation registry |
UpdateStatus | UpdateStatusRequest | UpdateStatusResponse | Update credential status by setting the revocation value |
CreateProof | CreateProofRequest | CreateProofResponse | Create a proof from a signed document that is a valid verifiable credential and contains a signature from which a proof can be derived. |
VerifyProof | VerifyProofRequest | VerifyProofResponse | Verifies a proof by checking the signature value, and if possible schema validation, revocation status, and issuer status against a trust registry |
Send | SendRequest | SendResponse | Sends a document directly to a user's email within the given ecosystem |
CheckStatusRequest¶
Request to check a credential's revocation status
Field | Type | Description |
---|---|---|
credential_status_id | string | Credential Status ID to check. This is not the same as the credential's ID. |
CheckStatusResponse¶
Response to CheckStatusRequest
Field | Type | Description |
---|---|---|
revoked | bool | The credential's revocation status |
CreateProofRequest¶
Request to create a proof for a Verifiable Credential using public key tied to caller.
Either item_id
or document_json
may be provided, not both.
Field | Type | Description |
---|---|---|
reveal_document_json | string | A valid JSON-LD frame describing which fields should be revealed in the generated proof. If unspecified, all fields in the document will be revealed |
item_id | string | ID of wallet item stored in a Trinsic cloud wallet |
document_json | string | A valid JSON-LD Verifiable Credential document string with an unbound signature. The proof will be derived from this document directly. The document will not be stored in the wallet. |
CreateProofResponse¶
Response to CreateProofRequest
Field | Type | Description |
---|---|---|
proof_document_json | string | Valid JSON-LD proof for the specified credential |
IssueFromTemplateRequest¶
Request to create and sign a JSON-LD Verifiable Credential from a template using public key tied to caller
Field | Type | Description |
---|---|---|
template_id | string | ID of template to use |
values_json | string | JSON document string with keys corresponding to the fields of the template referenced by template_id |
framework_id | string | Governance framework ID to use with issuance of this credential. If specified, the issued credential will contain extended issuer metadata with membership info for the given ecosystem governance framework (EGF) |
IssueFromTemplateResponse¶
Response to IssueFromTemplateRequest
Field | Type | Description |
---|---|---|
document_json | string | Verifiable Credential document, in JSON-LD form, constructed from the specified template and values; signed with public key tied to caller of IssueFromTemplateRequest |
IssueRequest¶
Request to sign a JSON-LD Credential using public key tied to caller
Field | Type | Description |
---|---|---|
document_json | string | Valid JSON-LD Credential document to be signed, in string form |
IssueResponse¶
Response to IssueRequest
Field | Type | Description |
---|---|---|
signed_document_json | string | Verifiable Credential document, signed with public key tied to caller of IssueRequest |
SendRequest¶
Request to send a document to another user's wallet
Field | Type | Description |
---|---|---|
string | Email address of user to send item to | |
did_uri | string | DID of recipient (presently unsupported) |
didcomm_invitation_json | string | DIDComm out-of-band invitation JSON (presently unsupported) |
document_json | string | JSON document to send to recipient |
SendResponse¶
Response to SendRequest
UpdateStatusRequest¶
Request to update a credential's revocation status
Field | Type | Description |
---|---|---|
credential_status_id | string | Credential Status ID to update. This is not the same as the credential's ID. |
revoked | bool | New revocation status of credential |
UpdateStatusResponse¶
Response to UpdateStatusRequest
ValidationMessage¶
Result of a validation check on a proof
Field | Type | Description |
---|---|---|
is_valid | bool | Whether or not this validation check passed |
messages | string[] | If validation failed, contains messages explaining why |
VerifyProofRequest¶
Request to verify a proof
Field | Type | Description |
---|---|---|
proof_document_json | string | JSON-LD proof document string to verify |
VerifyProofResponse¶
Response to VerifyProofRequest
Field | Type | Description |
---|---|---|
is_valid | bool | Whether all validations in validation_results passed |
validation_messages | string[] | Deprecated. Use validation_results instead |
validation_results | VerifyProofResponse.ValidationResultsEntry[] | Results of each validation check performed, such as schema conformance, revocation status, signature, etc. Detailed results are provided for failed validations. |
VerifyProofResponse.ValidationResultsEntry¶
Field | Type | Description |
---|---|---|
key | string | |
value | ValidationMessage |
services/verifiable-credentials/templates/v1/templates.proto¶
Service - CredentialTemplates¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Create | CreateCredentialTemplateRequest | CreateCredentialTemplateResponse | Create a credential template in the current ecosystem |
Get | GetCredentialTemplateRequest | GetCredentialTemplateResponse | Fetch a credential template by ID |
List | ListCredentialTemplatesRequest | ListCredentialTemplatesResponse | Search credential templates using SQL, returning strongly-typed template data |
Search | SearchCredentialTemplatesRequest | SearchCredentialTemplatesResponse | Search credential templates using SQL, returning raw JSON data |
Delete | DeleteCredentialTemplateRequest | DeleteCredentialTemplateResponse | Delete a credential template from the current ecosystem by ID |
CreateCredentialTemplateRequest¶
Request to create a new template
Field | Type | Description |
---|---|---|
name | string | Name of new template |
fields | CreateCredentialTemplateRequest.FieldsEntry[] | Fields which compose the template |
allow_additional_fields | bool | Whether credentials may be issued against this template which have fields not specified in fields |
CreateCredentialTemplateRequest.FieldsEntry¶
Field | Type | Description |
---|---|---|
key | string | |
value | TemplateField |
CreateCredentialTemplateResponse¶
Response to CreateCredentialTemplateRequest
Field | Type | Description |
---|---|---|
data | TemplateData | Created template |
DeleteCredentialTemplateRequest¶
Request to delete a template by ID
Field | Type | Description |
---|---|---|
id | string | ID of template to delete |
DeleteCredentialTemplateResponse¶
Response to DeleteCredentialTemplateRequest
GetCredentialTemplateRequest¶
Request to fetch a template by ID
Field | Type | Description |
---|---|---|
id | string | ID of template to fetch |
GetCredentialTemplateResponse¶
Response to GetCredentialTemplateRequest
Field | Type | Description |
---|---|---|
template | TemplateData | Template fetched by ID |
GetTemplateRequest¶
Unused
Field | Type | Description |
---|---|---|
id | string |
GetTemplateResponse¶
Unused
Field | Type | Description |
---|---|---|
data | TemplateData |
ListCredentialTemplatesRequest¶
Request to list templates using a SQL query
Field | Type | Description |
---|---|---|
query | string | SQL query to execute. Example: SELECT * FROM c WHERE c.name = 'Diploma' |
continuation_token | string | Token provided by previous ListCredentialTemplatesResponse if more data is available for query |
ListCredentialTemplatesResponse¶
Response to ListCredentialTemplatesRequest
Field | Type | Description |
---|---|---|
templates | TemplateData[] | Templates found by query |
has_more_results | bool | Whether more results are available for this query via continuation_token |
continuation_token | string | Token to fetch next set of resuts via ListCredentialTemplatesRequest |
ListTemplatesRequest¶
Unused
ListTemplatesResponse¶
Unused
Field | Type | Description |
---|---|---|
templates | TemplateData[] |
SearchCredentialTemplatesRequest¶
Request to search templates using a SQL query
Field | Type | Description |
---|---|---|
query | string | SQL query to execute. Example: SELECT * FROM c WHERE c.name = 'Diploma' |
continuation_token | string | Token provided by previous SearchCredentialTemplatesResponse if more data is available for query |
SearchCredentialTemplatesResponse¶
Response to SearchCredentialTemplatesRequest
Field | Type | Description |
---|---|---|
items_json | string | Raw JSON data returned from query |
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 SearchCredentialTemplatesRequest |
TemplateData¶
Credential Template
Field | Type | Description |
---|---|---|
id | string | Template ID |
name | string | Template name |
version | int32 | Template version number |
fields | TemplateData.FieldsEntry[] | Fields defined for the template |
allow_additional_fields | bool | Whether credentials issued against this template may contain fields not defined by template |
schema_uri | string | URI pointing to template JSON schema document |
context_uri | string | URI pointing to template JSON-LD context document |
ecosystem_id | string | ID of ecosystem in which template resides |
type | string | Template type (VerifiableCredential ) |
created_by | string | ID of template creator |
TemplateData.FieldsEntry¶
Field | Type | Description |
---|---|---|
key | string | |
value | TemplateField |
TemplateField¶
A field defined in a template
Field | Type | Description |
---|---|---|
description | string | Human-readable description of the field |
optional | bool | Whether this field may be omitted when a credential is issued against the template |
type | FieldType | The type of the field |
FieldType¶
Valid types for credential fields
Name | Number | Description |
---|---|---|
STRING | 0 | |
NUMBER | 1 | |
BOOL | 2 | |
DATETIME | 4 |
services/options/field-options.proto¶
SdkTemplateOption¶
Field | Type | Description |
---|---|---|
anonymous | bool | Whether the service endpoint allows anonymous (no auth token necessary) authentication This is used by the protoc-gen-trinsic-sdk plugin for metadata. |
ignore | bool | Whether the SDK template generator should ignore this method. This method will be wrapped manually. |
File-level Extensions¶
Extension | Type | Base | Number | Description |
---|---|---|---|---|
optional | bool | .google.protobuf.FieldOptions | 60000 | Whether field is optional in Trinsic's backend. This is not the same as an optional protobuf label; it only impacts documentation generation for the field. |
sdk_template_option | SdkTemplateOption | .google.protobuf.MethodOptions | 60001 |
services/debug/v1/debug.proto¶
Service - Debugging¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
CallEmpty | .google.protobuf.Empty | .google.protobuf.Empty | |
CallEmptyAuth | .google.protobuf.Empty | .google.protobuf.Empty |
services/event/v1/event.proto¶
APICall¶
Field | Type | Description |
---|---|---|
source | string | |
request | bytes | |
response | bytes |
EGFCreated¶
Entity Governance Framework created and attached to ecosystem
Field | Type | Description |
---|---|---|
id | string | UUID of the governance framework |
ecosystem_id | string | UUID of the ecosystem that owns this EGF |
trust_registry | string | Trust registry associated with this EGF |
governing_authority | string | Wallet ID of the authority for this EGF |
type | string | Type of EGF |
name | string | User-friendly name for the EGF |
description | string | Description of the EGF |
governance_framework | string | URI for the EGF |
Event¶
Event
Field | Type | Description |
---|---|---|
id | string | UUID of event |
type | EventType | Type of event |
timestamp | string | Timestamp event occurred, in ISO 8601 format (ex. 2022-07-07T08:09:10.11Z ) |
data | bytes | Event-specific payload, as an encoded protobuf message |
ItemReceived¶
Item inserted into wallet
Field | Type | Description |
---|---|---|
id | string | UUID of the new item |
received | string | Timestamp when the item was received, in ISO 8601 format (ex. 2022-07-07T08:09:10.11Z ) |
Ping¶
Webhook test event
Field | Type | Description |
---|---|---|
id | string | UUID of this ping |
webhook_id | string | UUID of the webhook receiving the ping |
timestamp | string | Timestamp ping was requested, in ISO 8601 format (ex. 2022-07-07T08:09:10.11Z ) |
message | string | Arbitrary message specified when ping was requested |
TemplateCreated¶
Template created in ecosystem
Field | Type | Description |
---|---|---|
id | string | UUID of the template |
ecosystem_id | string | UUID of the ecosystem that owns this template |
name | string | Template name |
type | string | Template type |
created_by | string | WalletID that created the template |
EventType¶
All event types
Name | Number | Description |
---|---|---|
PING | 0 | |
LOG | 1 | |
EGF_CREATED | 5 | |
EGF_MEMBER_REGISTERED | 6 | |
EGF_MEMBER_UNREGISTERED | 7 | |
TEMPLATE_CREATED | 10 | |
TEMPLATE_DELETED | 11 | |
WALLET_CREATED | 15 | |
ITEM_RECEIVED | 16 |
File-level Extensions¶
Extension | Type | Base | Number | Description |
---|---|---|---|---|
event_type | EventType | .google.protobuf.MessageOptions | 60002 | Event type associated with this Event message. |