Platform APIs Documentation
Table of Contents
-
- AddTagsReq
- AddTagsRes
- AgentInfoForDID
- AllDevicesListStruct
- AssignTagsToIdentityReq
- AssignTagsToIdentityRes
- CountriesStruct
- CreateIdentityReq
- CreateIdentityRes
- DownloadFilesReq
- DownloadFilesRes
- EmptyRequest
- FileInfo
- FileStorePathReq
- FileStorePathRes
- GetAllDevicesListReq
- GetAllDevicesListRes
- GetCountriesListReq
- GetCountriesListRes
- GetDevicePayloadsWithSignatureReq
- GetDevicePayloadsWithSignatureRes
- GetDevicePayloadsWithSignatureStruct
- GetLicenseStatusReq
- GetLicenseStatusRes
- GetOnboardingPkgReq
- GetOnboardingPkgRes
- GetPendingRequestsListReq
- GetPendingRequestsListRes
- GetPlatformDIDReq
- GetPlatformDIDRes
- GetRejectedIdentitiesListReq
- GetRejectedIdentitiesListRes
- GetTagsReq
- GetTagsRes
- GetValidIdentitiesListReq
- GetValidIdentitiesListRes
- GetValidIdentityInfoReq
- GetValidIdentityInfoRes
- ListIdentitiesUnderATagReq
- ListIdentitiesUnderATagRes
- LocalStorageInitReq
- LocalStorageInitRes
- NewPlatformUserInfo
- PendingRequestsStruct
- PostDeviceDataWithSignatureReq
- PostDeviceDataWithSignatureRes
- PostDeviceDataWithSignatureStruct
- RecordRejectedDIDReq
- RecordRejectedDIDRes
- RegisterDeviceDIDReq
- RegisterDeviceDIDRes
- RejectedIdentitiesListStruct
- RemoveTagsReq
- RemoveTagsRes
- RequestIdentityStatusReq
- RequestIdentityStatusRes
- RequestRegistrationOfDeviceReq
- RequestRegistrationOfDeviceRes
- RevokeDeviceDIDReq
- RevokeDeviceDIDRes
- SignBytePayloadWithIdentityReq
- SignBytePayloadWithIdentityRes
- SignPayloadReq
- SignPayloadRes
- TagStruct
- UploadFilesReq
- UploadFilesRes
- ValidIdentitiesListStruct
- VerifyBytePayloadWithIdentityReq
- VerifyBytePayloadWithIdentityRes
- VerifyDeviceDIDReq
- VerifyDeviceDIDRes
- VerifySignatureReq
platformapi.proto
AddTagsReq
| Field | Type | Label | Description |
|---|---|---|---|
| tags | TagStruct | repeated | one or more tags to be created in the system |
AddTagsRes
| Field | Type | Label | Description |
|---|---|---|---|
| result | bool | boolean result, True if all gets created else false |
AgentInfoForDID
| Field | Type | Label | Description |
|---|---|---|---|
| agentDID | string | if device DID to be bound to an agent | |
| statusKey | string | to be delivered from the backend |
AllDevicesListStruct
| Field | Type | Label | Description |
|---|---|---|---|
| did | string | ||
| deviceName | string | human readable name of the device | |
| statusOfDID | string | ||
| versionInfo | string | ||
| createdOn | int64 |
AssignTagsToIdentityReq
| Field | Type | Label | Description |
|---|---|---|---|
| tags | TagStruct | repeated | |
| did | string | device identities to be tagged with |
AssignTagsToIdentityRes
| Field | Type | Label | Description |
|---|---|---|---|
| result | bool | true if assignment of tags to identity works; else false; default is false |
CountriesStruct
| Field | Type | Label | Description |
|---|---|---|---|
| name | string |
CreateIdentityReq
| Field | Type | Label | Description |
|---|---|---|---|
| customerInfo | NewPlatformUserInfo |
CreateIdentityRes
| Field | Type | Label | Description |
|---|---|---|---|
| did | string |
DownloadFilesReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceIdentity | string | device's identity |
DownloadFilesRes
| Field | Type | Label | Description |
|---|---|---|---|
| info | FileInfo | ||
| chunkData | bytes |
EmptyRequest
FileInfo
| Field | Type | Label | Description |
|---|---|---|---|
| deviceIdentity | string | ||
| fileId | string | ||
| fileType | string |
FileStorePathReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceIdentity | string | device DID | |
| path | string | folder |
FileStorePathRes
| Field | Type | Label | Description |
|---|---|---|---|
| result | bool |
GetAllDevicesListReq
empty request
GetAllDevicesListRes
| Field | Type | Label | Description |
|---|---|---|---|
| rows | AllDevicesListStruct | repeated |
GetCountriesListReq
left blank intentionally
GetCountriesListRes
| Field | Type | Label | Description |
|---|---|---|---|
| data | CountriesStruct | repeated |
GetDevicePayloadsWithSignatureReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDid | string | ||
| deviceName | string | if deviceName is used all payloads are returned from that device, it may have used multiple DIDs |
GetDevicePayloadsWithSignatureRes
| Field | Type | Label | Description |
|---|---|---|---|
| rows | GetDevicePayloadsWithSignatureStruct | repeated |
GetDevicePayloadsWithSignatureStruct
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDID | string | ||
| deviceName | string | ||
| dataTimestamp | int32 | ||
| payload | string | ||
| signature | string | ||
| isValid | bool |
GetLicenseStatusReq
ScuridPlatformAgentAPI section
left blank intentionally
GetLicenseStatusRes
| Field | Type | Label | Description |
|---|---|---|---|
| licStatus | bool | false if status not active; true otherwise | |
| licType | string | type of the license small, developer etc. | |
| validFrom | int64 | valid from timestamp | |
| validUntil | int64 | valid until timestamp |
GetOnboardingPkgReq
| Field | Type | Label | Description |
|---|---|---|---|
| identity | string | device's public identity |
GetOnboardingPkgRes
| Field | Type | Label | Description |
|---|---|---|---|
| pkg1 | string | transfers payload in string, any data structure | |
| pkg2 | bytes | transfers payload in bytes, any data structure |
GetPendingRequestsListReq
empty request
GetPendingRequestsListRes
| Field | Type | Label | Description |
|---|---|---|---|
| rows | PendingRequestsStruct | repeated |
GetPlatformDIDReq
empty request
GetPlatformDIDRes
| Field | Type | Label | Description |
|---|---|---|---|
| platform_did | string | ||
| status | string |
GetRejectedIdentitiesListReq
empty request
GetRejectedIdentitiesListRes
| Field | Type | Label | Description |
|---|---|---|---|
| rows | RejectedIdentitiesListStruct | repeated |
GetTagsReq
left empty
GetTagsRes
| Field | Type | Label | Description |
|---|---|---|---|
| tag | TagStruct |
GetValidIdentitiesListReq
empty request
GetValidIdentitiesListRes
| Field | Type | Label | Description |
|---|---|---|---|
| rows | ValidIdentitiesListStruct | repeated |
GetValidIdentityInfoReq
| Field | Type | Label | Description |
|---|---|---|---|
| did | string |
GetValidIdentityInfoRes
| Field | Type | Label | Description |
|---|---|---|---|
| vInfo | string | edge agent version used for creating DID | |
| lastVerifiedOn | int64 | ||
| created_on | int64 | ||
| device_name | string | ||
| isLocal | bool | if checked identities are not registered on DLT but only local database | |
| path | string | device pkg file store on the client side | |
| deviceContext | deviceContext.DeviceContext | helps to onboard and bind a device to an identity | |
| agentInfoForDID | AgentInfoForDID | if there is an agent to which this identity belongs |
ListIdentitiesUnderATagReq
| Field | Type | Label | Description |
|---|---|---|---|
| tag | TagStruct |
ListIdentitiesUnderATagRes
| Field | Type | Label | Description |
|---|---|---|---|
| did | string |
LocalStorageInitReq
| Field | Type | Label | Description |
|---|---|---|---|
| storagePath | string |
LocalStorageInitRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool | try to return actual error from the OS if any, a success message |
NewPlatformUserInfo
struct to be attached to the Platform's DID registration
| Field | Type | Label | Description |
|---|---|---|---|
| firstName | string | ||
| lastName | string | ||
| string | |||
| country | string | ||
| isEnterpriseUser | bool | ||
| enterpriseFullName | string | ||
| did | string | ||
| emailRegistrationCode | string | this is the code sent to the user's email for verification |
PendingRequestsStruct
| Field | Type | Label | Description |
|---|---|---|---|
| did | string | ||
| requestTimestamp | int64 | ||
| versionInfo | string | ||
| created_on | int64 | ||
| device_name | string | ||
| isLocal | bool | ||
| deviceContext | deviceContext.DeviceContext | helps to onboard and bind a device to an identity | |
| agentInfoForDID | AgentInfoForDID | if there is an agent to which this identity belongs |
PostDeviceDataWithSignatureReq
| Field | Type | Label | Description |
|---|---|---|---|
| dataSet | PostDeviceDataWithSignatureStruct | repeated |
PostDeviceDataWithSignatureRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool |
PostDeviceDataWithSignatureStruct
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDID | string | ||
| deviceName | string | ||
| dataTimestamp | int32 | ||
| payload | string | ||
| signature | string |
RecordRejectedDIDReq
| Field | Type | Label | Description |
|---|---|---|---|
| did | string | ||
| rejectedOn | int64 | timestamp of rejection // UTC | |
| isLocal | bool | defaults to false, if the identity was approved previously use that state |
RecordRejectedDIDRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool |
RegisterDeviceDIDReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDid | string | ||
| platformDid | string | platform did | |
| isLocal | bool | if checked identites are not registered on DLT but only local database |
RegisterDeviceDIDRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool |
RejectedIdentitiesListStruct
| Field | Type | Label | Description |
|---|---|---|---|
| did | string | ||
| vInfo | string | edge agent version used for creating DID | |
| rejectionTimestamp | int64 | ||
| revokedOn | int64 | ||
| created_on | int64 | ||
| device_name | string | ||
| isLocal | bool | if checked identities are not registered on DLT but only local database | |
| deviceContext | deviceContext.DeviceContext | helps to onboard and bind a device to an identity | |
| agentInfoForDID | AgentInfoForDID | if there is an agent to which this identity belongs |
RemoveTagsReq
| Field | Type | Label | Description |
|---|---|---|---|
| tags | TagStruct | repeated | tags to be deleted from the system |
| did | string | this generally the device identity |
RemoveTagsRes
| Field | Type | Label | Description |
|---|---|---|---|
| result | bool | boolean result, True if all gets deleted else false |
RequestIdentityStatusReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDID | string |
RequestIdentityStatusRes
response is one of the following
| Field | Type | Label | Description |
|---|---|---|---|
| status | string |
RequestRegistrationOfDeviceReq
| Field | Type | Label | Description |
|---|---|---|---|
| deviceDID | string | ||
| requestedOn | int64 | UTC timestamp of request from device, this value MUST come from device | |
| vInfo | string | edge agent version used for generating DID | |
| device_name | string | name with which customer, user identifies it uniquely, this could also be a name in the IIoT Platform | |
| deviceContext | deviceContext.DeviceContext | helps to onboard and bind a device to an identity | |
| signatureOnDeviceContext | bytes | hash calculated on the fields requestedOn + deviceDID. THIS must be sent by the agent and will be recorded on the backend and used for future verification. | |
| agentInfoForDID | AgentInfoForDID | if there is an agent to which this identity belongs |
RequestRegistrationOfDeviceRes
this only provides a confirmation if request has been successfully received. Whether it's approved or rejected, will be handled by respective service This info will be added to the Platform Agent's local storage
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool | only returns confirmation that the request has been received |
RevokeDeviceDIDReq
| Field | Type | Label | Description |
|---|---|---|---|
| device_did | string | ||
| platform_did | string |
RevokeDeviceDIDRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool |
SignBytePayloadWithIdentityReq
| Field | Type | Label | Description |
|---|---|---|---|
| payload | bytes | array if bytes to be signed | |
| did | string | identity i.e. did:scurid:XXXXXXXXXXX ; NOTE identity is case sensitive |
SignBytePayloadWithIdentityRes
| Field | Type | Label | Description |
|---|---|---|---|
| signature | string | generated signature |
SignPayloadReq
| Field | Type | Label | Description |
|---|---|---|---|
| payload | string | ||
| did | string |
SignPayloadRes
| Field | Type | Label | Description |
|---|---|---|---|
| signature | string |
TagStruct
| Field | Type | Label | Description |
|---|---|---|---|
| tagName | string |
UploadFilesReq
| Field | Type | Label | Description |
|---|---|---|---|
| info | FileInfo | ||
| chunkData | bytes |
UploadFilesRes
| Field | Type | Label | Description |
|---|---|---|---|
| result | bool | true if successfully transferred the files. |
ValidIdentitiesListStruct
| Field | Type | Label | Description |
|---|---|---|---|
| did | string | ||
| vInfo | string | edge agent version used for creating DID | |
| created_on | int64 | ||
| last_verified_on | int64 | ||
| device_name | string | ||
| isLocal | bool | if checked identities are not registered on DLT but only local database | |
| path | string | device pkg file store on the client side | |
| deviceContext | deviceContext.DeviceContext | helps to onboard and bind a device to an identity | |
| agentInfoForDID | AgentInfoForDID | if there is an agent to which this identity belongs |
VerifyBytePayloadWithIdentityReq
| Field | Type | Label | Description |
|---|---|---|---|
| signature | string | ||
| payload | bytes | ||
| did | string | identity i.e. did:scurid:XXXXXXXXXXX ; NOTE: identity is case sensitive |
VerifyBytePayloadWithIdentityRes
| Field | Type | Label | Description |
|---|---|---|---|
| isValid | bool | true if valid, else false (Defaults to False) |
VerifyDeviceDIDReq
| Field | Type | Label | Description |
|---|---|---|---|
| platform_did | string | ||
| device_did | string |
VerifyDeviceDIDRes
| Field | Type | Label | Description |
|---|---|---|---|
| status | bool |
VerifySignatureReq
| Field | Type | Label | Description |
|---|---|---|---|
| signature | string | ||
| payload | string | ||
| did | string |
VerifySignatureRes
| Field | Type | Label | Description |
|---|---|---|---|
| isValid | bool |
ScuridPlatformAgentAPI
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetPendingRequestsList | GetPendingRequestsListReq | GetPendingRequestsListRes | Track requests from new devices to register them on the SSI Service |
| VerifySignature | VerifySignatureReq | VerifySignatureRes | Verify signature of the payload Currently only string payloads are supported |
| CreateIdentity | CreateIdentityReq | CreateIdentityRes | Primarily to be used for DID Generation of the platform to be used for registering platform application for that customer This should make an internal call to the Scurid SSI Service and store the DID value in local storage in encrypted wallet |
| SignPayload | SignPayloadReq | SignPayloadRes | Sign a given payload with platform's DID |
| GetRejectedIdentitiesList | GetRejectedIdentitiesListReq | GetRejectedIdentitiesListRes | As platform agent must track every incoming request for DID registration in local DB storage, this service returns the list of all the DIDs that were rejected by the customer to be registered with Scurid SSI Service. This is mainly a bookkeeping service |
| GetValidIdentitiesList | GetValidIdentitiesListReq | GetValidIdentitiesListRes | Fetches the list of all the DIDs that were successfully registered in Scurid SSI Service, this list must be kept internally fresh by the platform's internal service |
| GetValidIdentityInfo | GetValidIdentityInfoReq | GetValidIdentityInfoRes | Fetches details available on a given identity in local DB storage, data on this identity must be kept fresh by internal services |
| RecordRejectedDID | RecordRejectedDIDReq | RecordRejectedDIDRes | Identities returned by GetPendingRequestsList if they are rejected by the customer from the flutter app, they of course MUST not be registered with Scurid SSI Service, but at the same time should be recorded in the local DB |
| RequestRegistrationOfDevice | RequestRegistrationOfDeviceReq | RequestRegistrationOfDeviceRes | this endpoint is for devices to call Platform Agent to register them Normally will be used by devices wanting to registering for the first time, or if a new DID has been generated on an existing device |
| RequestIdentityStatus | RequestIdentityStatusReq | RequestIdentityStatusRes | This endpoint is primarily meant for devices to get validation from Platform Application if their DID was registered on the blockchain |
| LocalStorageInit | LocalStorageInitReq | LocalStorageInitRes | To be called from desktop app for getting the path where DB should be initialized |
| GetAllDevicesList | GetAllDevicesListReq | GetAllDevicesListRes | A call to local storage to get list of all available device DIDs |
| VerifyDeviceDID | VerifyDeviceDIDReq | VerifyDeviceDIDRes | Wraps the call for SSI Service API with same name VerifyDeviceDID |
| RevokeDeviceDID | RevokeDeviceDIDReq | RevokeDeviceDIDRes | Wraps the call for SSI Service API with same name RevokeDeviceDID |
| RegisterDeviceDID | RegisterDeviceDIDReq | RegisterDeviceDIDRes | Wraps the call for SSI Service API with same name RegisterDeviceDID |
| GetPlatformDID | GetPlatformDIDReq | GetPlatformDIDRes | To provide Platform DID from the local gRPC platform storage |
| GetDevicePayloadsWithSignature | GetDevicePayloadsWithSignatureReq | GetDevicePayloadsWithSignatureRes | Provides device's data with signature for each payload returned rows have boolean confirmation attached to each row True denotes that the device's payload has valid signature, false denotes otherwise |
| PostDeviceDataWithSignature | PostDeviceDataWithSignatureReq | PostDeviceDataWithSignatureRes | PostDeviceDataWithSignature to be called from edge devices to post / send their device data with signature to Platform |
| GetCountriesList | GetCountriesListReq | GetCountriesListRes | Provides list of countries |
| GetLicenseStatus | GetLicenseStatusReq | GetLicenseStatusRes | |
| SignBytePayloadWithIdentity | SignBytePayloadWithIdentityReq | SignBytePayloadWithIdentityRes | Signs a byte array payload with identity |
| VerifyBytePayloadWithIdentity | VerifyBytePayloadWithIdentityReq | VerifyBytePayloadWithIdentityRes | Verifies a byte array payload with identity |
| AddTags | AddTagsReq | AddTagsRes | Adds tags for categorization of the identities |
| RemoveTags | RemoveTagsReq | RemoveTagsRes | Removes existing tags from the identity |
| GetTags | GetTagsReq | GetTagsRes stream | Get existing tags |
| AssignTagsToIdentity | AssignTagsToIdentityReq | AssignTagsToIdentityRes | AssignTagsToIdentity assign one more tags to an identity |
| ListIdentitiesUnderATag | ListIdentitiesUnderATagReq | ListIdentitiesUnderATagRes stream | Lists all the identities assigned to a Tag |
| UploadFiles | UploadFilesReq stream | UploadFilesRes | Used for uploading files to the server |
| DownloadFiles | DownloadFilesReq | DownloadFilesRes stream | Used for downloading device pkgs |
| FileStorePath | FileStorePathReq | FileStorePathRes | FileStorePath provides path for the device files |